API
 
Loading...
Searching...
No Matches
saving_start_generated_tests.cpp
Go to the documentation of this file.
1#include <assert.h>
2#include "../../../../tests/catch2/catch.hpp"
3#include "../generated/logCodes.hpp"
4#include "../types/saving_start.hpp"
5#include "../types/flatbuffer_log.hpp"
6
7/*
8 * GENERATED TEST FILE for types/saving_start.hpp
9 * generated by generateTemplateCatch2Tests.py
10 */
11
12const int16_t savingStartState_0 = -17524; // dummy state
13const uint64_t savingStartFrameNo_0 = 16431594808782328917u; // dummy frameNo
14
15
16/** Class to encapsulate saving_start flatbuffer data using
17 ** => types/saving_start.hpp
18 ** => types/generated/saving_start_generated.h
19 **/
21{
22public:
23 // Saved input parameter value; unused
26
27 // Parameters retrieved from flatbuffer
28 int16_t m_state;
29 uint64_t m_frameNo;
30
31 // Flatbuffers verifier success/failure
32 bool m_verify{false};
33
34 // flatbuffer data length; used in ::verify
35 int L;
36
37 // Constructor
38 CSavingStart_0(int16_t state_, uint64_t frameNo_) {
39 // Save input parameters
40 m_saveSsState = state_;
41 m_saveSsFrameNo = frameNo_;
42
43 // Create the flatbuffer messageT using the input parameters
44 auto ss = MagAOX::logger::saving_start::messageT(state_, frameNo_);
45
46 // Retrieve flatbuffer pointer (if not an empty_log type) and length
47 void* buffPtr = ss.builder.GetBufferPointer();
49
50 // Retrieve the flatbuffer parameters for Catch2 comparison below
53
54 // Run the saving_start verifier
55 m_verify = verify(ss);
56 }
57
58 // Run the flatbuffer Verifier for this log type
59 // - requires bufferPtrT (shared_ptr<char*>) to full log entry
60 // comprising log header plus flatbuffer log message
62
63 // Timestamp, prioriy (use nominal value here)
64 flatlogs::timespecX tsx{0,0};
66
67 // Create full log: log header(*); log message (+)
68 // * Log level (priority)
69 // * Event code (implicit in <MagAOX::logger::type>)
70 // * Timestamp
71 // * Message size (variable length; 1, 2, or 8 bytes)
72 // + Message (variable length)
73
74 // N.G. allocates space and writes pointer value to logBuffer
75 flatlogs::bufferPtrT logBuffer;
76 flatlogs::logHeader::createLog<MagAOX::logger::saving_start>(logBuffer
77 , tsx, msg
78 , prio);
79 // Run full log through flatbuffer Verifier
81 }
82};
83
84SCENARIO( "Create saving_start 0", "[a log item]")
85{
86 GIVEN("a saving_start log code")
87 {
88 WHEN("random values for fields")
89 {
90 // Create flatbuffer
92 // Compare flatbuffer parameters
93 REQUIRE(ss.m_state == savingStartState_0);
94 REQUIRE(ss.m_frameNo == savingStartFrameNo_0);
95 REQUIRE(ss.m_verify);
96 }
97 }
98}
99
100
CSavingStart_0(int16_t state_, uint64_t frameNo_)
bool verify(const typename MagAOX::logger::saving_start::messageT &msg)
int8_t logPrioT
The type of the log priority code.
Definition logDefs.hpp:21
std::shared_ptr< char > bufferPtrT
The log entry buffer smart pointer.
Definition logHeader.hpp:58
const MagAOX::logger::Saving_state_change_fb * GetSaving_state_change_fb(const void *buf)
static constexpr logPrioT LOG_DEFAULT
Used to denote "use the default level for this log type".
const int16_t savingStartState_0
SCENARIO("Create saving_start 0", "[a log item]")
const uint64_t savingStartFrameNo_0
static flatlogs::msgLenT length(const fbMessage &msg)
Get the length of the message.
static bool verify(flatlogs::bufferPtrT &logBuff, flatlogs::msgLenT len)
A fixed-width timespec structure.
Definition timespecX.hpp:35