API
 
Loading...
Searching...
No Matches
telem_pi335_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/telem_pi335.hpp"
5#include "../types/generated/telem_pi335_generated.h"
6#include "../types/flatbuffer_log.hpp"
7
8/*
9 * GENERATED TEST FILE for types/telem_pi335.hpp
10 * generated by generateTemplateCatch2Tests.py
11 */
12
13const float telemPi335Pos1Set_0 = 0.235445; // dummy pos1Set
14const float telemPi335Pos1_0 = 0.574767; // dummy pos1
15const float telemPi335Sva1_0 = 0.822481; // dummy sva1
16const float telemPi335Pos2Set_0 = 0.479902; // dummy pos2Set
17const float telemPi335Pos2_0 = 0.14245; // dummy pos2
18const float telemPi335Sva2_0 = 0.408265; // dummy sva2
19const float telemPi335Pos3Set_0 = 0.652385; // dummy pos3Set
20const float telemPi335Pos3_0 = 0.604394; // dummy pos3
21const float telemPi335Sva3_0 = 0.95561; // dummy sva3
22
23
24/** Class to encapsulate telem_pi335 flatbuffer data using
25 ** => types/telem_pi335.hpp
26 ** => types/generated/telem_pi335_generated.h
27 **/
29{
30public:
31 // Saved input parameter value; unused
41
42 // Parameters retrieved from flatbuffer
43 float m_pos1Set;
44 float m_pos1;
45 float m_sva1;
46 float m_pos2Set;
47 float m_pos2;
48 float m_sva2;
49 float m_pos3Set;
50 float m_pos3;
51 float m_sva3;
52
53 // Flatbuffers verifier success/failure
54 bool m_verify{false};
55
56 // flatbuffer data length; used in ::verify
57 int L;
58
59 // Constructor
60 CTelemPi335_0(float pos1Set_, float pos1_, float sva1_, float pos2Set_, float pos2_, float sva2_, float pos3Set_, float pos3_, float sva3_) {
61 // Save input parameters
62 m_saveTpPos1Set = pos1Set_;
63 m_saveTpPos1 = pos1_;
64 m_saveTpSva1 = sva1_;
65 m_saveTpPos2Set = pos2Set_;
66 m_saveTpPos2 = pos2_;
67 m_saveTpSva2 = sva2_;
68 m_saveTpPos3Set = pos3Set_;
69 m_saveTpPos3 = pos3_;
70 m_saveTpSva3 = sva3_;
71
72 // Create the flatbuffer messageT using the input parameters
73 auto tp = MagAOX::logger::telem_pi335::messageT(pos1Set_, pos1_, sva1_, pos2Set_, pos2_, sva2_, pos3Set_, pos3_, sva3_);
74
75 // Retrieve flatbuffer pointer (if not an empty_log type) and length
76 void* buffPtr = tp.builder.GetBufferPointer();
78
79 // Retrieve the flatbuffer parameters for Catch2 comparison below
80 m_pos1Set = MagAOX::logger::GetTelem_pi335_fb(buffPtr)->pos1Set();
83 m_pos2Set = MagAOX::logger::GetTelem_pi335_fb(buffPtr)->pos2Set();
86 m_pos3Set = MagAOX::logger::GetTelem_pi335_fb(buffPtr)->pos3Set();
89
90 // Run the telem_pi335 verifier
91 m_verify = verify(tp);
92 }
93
94 // Run the flatbuffer Verifier for this log type
95 // - requires bufferPtrT (shared_ptr<char*>) to full log entry
96 // comprising log header plus flatbuffer log message
98
99 // Timestamp, prioriy (use nominal value here)
100 flatlogs::timespecX tsx{0,0};
102
103 // Create full log: log header(*); log message (+)
104 // * Log level (priority)
105 // * Event code (implicit in <MagAOX::logger::type>)
106 // * Timestamp
107 // * Message size (variable length; 1, 2, or 8 bytes)
108 // + Message (variable length)
109
110 // N.G. allocates space and writes pointer value to logBuffer
111 flatlogs::bufferPtrT logBuffer;
112 flatlogs::logHeader::createLog<MagAOX::logger::telem_pi335>(logBuffer
113 , tsx, msg
114 , prio);
115 // Run full log through flatbuffer Verifier
116 return MagAOX::logger::telem_pi335::verify(logBuffer,L);
117 }
118};
119
120SCENARIO( "Create telem_pi335 0", "[a log item]")
121{
122 GIVEN("a telem_pi335 log code")
123 {
124 WHEN("random values for fields")
125 {
126 // Create flatbuffer
128 // Compare flatbuffer parameters
129 REQUIRE(tp.m_pos1Set == telemPi335Pos1Set_0);
130 REQUIRE(tp.m_pos1 == telemPi335Pos1_0);
131 REQUIRE(tp.m_sva1 == telemPi335Sva1_0);
132 REQUIRE(tp.m_pos2Set == telemPi335Pos2Set_0);
133 REQUIRE(tp.m_pos2 == telemPi335Pos2_0);
134 REQUIRE(tp.m_sva2 == telemPi335Sva2_0);
135 REQUIRE(tp.m_pos3Set == telemPi335Pos3Set_0);
136 REQUIRE(tp.m_pos3 == telemPi335Pos3_0);
137 REQUIRE(tp.m_sva3 == telemPi335Sva3_0);
138 REQUIRE(tp.m_verify);
139 }
140 }
141}
142
143
bool verify(const typename MagAOX::logger::telem_pi335::messageT &msg)
CTelemPi335_0(float pos1Set_, float pos1_, float sva1_, float pos2Set_, float pos2_, float sva2_, float pos3Set_, float pos3_, float sva3_)
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::Telem_pi335_fb * GetTelem_pi335_fb(const void *buf)
static constexpr logPrioT LOG_DEFAULT
Used to denote "use the default level for this log type".
static flatlogs::msgLenT length(const fbMessage &msg)
Get the length of the message.
The type of the input message.
static bool verify(flatlogs::bufferPtrT &logBuff, flatlogs::msgLenT len)
A fixed-width timespec structure.
Definition timespecX.hpp:35
SCENARIO("Create telem_pi335 0", "[a log item]")
const float telemPi335Pos3_0
const float telemPi335Pos1Set_0
const float telemPi335Pos3Set_0
const float telemPi335Sva3_0
const float telemPi335Sva2_0
const float telemPi335Pos2Set_0
const float telemPi335Pos1_0
const float telemPi335Pos2_0
const float telemPi335Sva1_0