API
 
Loading...
Searching...
No Matches
telem_pokecenter_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_pokecenter.hpp"
5#include "../types/generated/telem_pokecenter_generated.h"
6#include "../types/flatbuffer_log.hpp"
7
8/*
9 * GENERATED TEST FILE for types/telem_pokecenter.hpp
10 * generated by generateTemplateCatch2Tests.py
11 */
12
13const uint8_t telemPokecenterMeasuring_0 = 92; // dummy measuring
14const float telemPokecenterPupil_x_0 = 0.631623; // dummy pupil_x
15const float telemPokecenterPupil_y_0 = 0.816649; // dummy pupil_y
16const std::vector<float> telemPokecenterPoke_x_0 = { 0.528996,0.647523,0.640772,0.2887,0.847617,0.746164,0.029067,0.970058,0.801876,0.963174 }; // dummy poke_x
17const std::vector<float> telemPokecenterPoke_y_0 = { 0.730408,0.412365,0.681051,0.000578,0.701367,0.979386,0.046297,0.201724,0.310254,0.719138 }; // dummy poke_y
18
19
20/** Class to encapsulate telem_pokecenter flatbuffer data using
21 ** => types/telem_pokecenter.hpp
22 ** => types/generated/telem_pokecenter_generated.h
23 **/
25{
26public:
27 // Saved input parameter value; unused
31 std::vector<float> m_saveTpPoke_x;
32 std::vector<float> m_saveTpPoke_y;
33
34 // Parameters retrieved from flatbuffer
35 uint8_t m_measuring;
36 float m_pupil_x;
37 float m_pupil_y;
38 std::vector<float> m_poke_x;
39 std::vector<float> m_poke_y;
40
41 // Flatbuffers verifier success/failure
42 bool m_verify{false};
43
44 // flatbuffer data length; used in ::verify
45 int L;
46
47 // Constructor
48 CTelemPokecenter_0(uint8_t measuring_, float pupil_x_, float pupil_y_, std::vector<float> poke_x_, std::vector<float> poke_y_) {
49 // Save input parameters
50 m_saveTpMeasuring = measuring_;
51 m_saveTpPupil_x = pupil_x_;
52 m_saveTpPupil_y = pupil_y_;
53 m_saveTpPoke_x = poke_x_;
54 m_saveTpPoke_y = poke_y_;
55
56 // Create the flatbuffer messageT using the input parameters
57 auto tp = MagAOX::logger::telem_pokecenter::messageT(measuring_, pupil_x_, pupil_y_, poke_x_, poke_y_);
58
59 // Retrieve flatbuffer pointer (if not an empty_log type) and length
60 void* buffPtr = tp.builder.GetBufferPointer();
62
63 // Retrieve the flatbuffer parameters for Catch2 comparison below
67 if (MagAOX::logger::GetTelem_pokecenter_fb(buffPtr)->poke_x() != nullptr)
68 {
69 for(auto it = MagAOX::logger::GetTelem_pokecenter_fb(buffPtr)->poke_x()->begin();
70 it != MagAOX::logger::GetTelem_pokecenter_fb(buffPtr)->poke_x()->end();
71 ++it)
72 {
73 m_poke_x.push_back(*it);
74 }
75 }
76 if (MagAOX::logger::GetTelem_pokecenter_fb(buffPtr)->poke_y() != nullptr)
77 {
78 for(auto it = MagAOX::logger::GetTelem_pokecenter_fb(buffPtr)->poke_y()->begin();
79 it != MagAOX::logger::GetTelem_pokecenter_fb(buffPtr)->poke_y()->end();
80 ++it)
81 {
82 m_poke_y.push_back(*it);
83 }
84 }
85
86 // Run the telem_pokecenter verifier
87 m_verify = verify(tp);
88 }
89
90 // Run the flatbuffer Verifier for this log type
91 // - requires bufferPtrT (shared_ptr<char*>) to full log entry
92 // comprising log header plus flatbuffer log message
94
95 // Timestamp, prioriy (use nominal value here)
96 flatlogs::timespecX tsx{0,0};
98
99 // Create full log: log header(*); log message (+)
100 // * Log level (priority)
101 // * Event code (implicit in <MagAOX::logger::type>)
102 // * Timestamp
103 // * Message size (variable length; 1, 2, or 8 bytes)
104 // + Message (variable length)
105
106 // N.G. allocates space and writes pointer value to logBuffer
107 flatlogs::bufferPtrT logBuffer;
108 flatlogs::logHeader::createLog<MagAOX::logger::telem_pokecenter>(logBuffer
109 , tsx, msg
110 , prio);
111 // Run full log through flatbuffer Verifier
113 }
114};
115
116SCENARIO( "Create telem_pokecenter 0", "[a log item]")
117{
118 GIVEN("a telem_pokecenter log code")
119 {
120 WHEN("random values for fields")
121 {
122 // Create flatbuffer
124 // Compare flatbuffer parameters
126 REQUIRE(tp.m_pupil_x == telemPokecenterPupil_x_0);
127 REQUIRE(tp.m_pupil_y == telemPokecenterPupil_y_0);
128 REQUIRE(tp.m_poke_x == telemPokecenterPoke_x_0);
129 REQUIRE(tp.m_poke_y == telemPokecenterPoke_y_0);
130 REQUIRE(tp.m_verify);
131 }
132 }
133}
134
135const uint8_t telemPokecenterMeasuring_1 = 15; // dummy measuring
136const float telemPokecenterPupil_x_1 = 0.060365; // dummy pupil_x
137const float telemPokecenterPupil_y_1 = 0.429382; // dummy pupil_y
138const std::vector<float> telemPokecenterPokes_1 = { 0.172682,0.649215,0.918207,0.393055,0.842913,0.308341,0.220342,0.309587,0.295035,0.447912 }; // dummy pokes
139const std::vector<float> telemPokecenterSpecialPokes_1 = { 0.172682,0.918207,0.842913,0.220342,0.295035 }; // dummy special case pokes
140
141
142/** Class to encapsulate telem_pokecenter flatbuffer data using
143 ** => types/telem_pokecenter.hpp
144 ** => types/generated/telem_pokecenter_generated.h
145 **/
147{
148public:
149 // Saved input parameter value; unused
153 std::vector<float> m_saveTpPokes;
154
155 // Parameters retrieved from flatbuffer
156 uint8_t m_measuring;
159 std::vector<float> m_pokes;
160
161 // Flatbuffers verifier success/failure
162 bool m_verify{false};
163
164 // flatbuffer data length; used in ::verify
165 int L;
166
167 // Constructor
168 CTelemPokecenter_1(uint8_t measuring_, float pupil_x_, float pupil_y_, std::vector<float> pokes_) {
169 // Save input parameters
170 m_saveTpMeasuring = measuring_;
171 m_saveTpPupil_x = pupil_x_;
172 m_saveTpPupil_y = pupil_y_;
173 m_saveTpPokes = pokes_;
174
175 // Create the flatbuffer messageT using the input parameters
176 auto tp = MagAOX::logger::telem_pokecenter::messageT(measuring_, pupil_x_, pupil_y_, pokes_);
177
178 // Retrieve flatbuffer pointer (if not an empty_log type) and length
179 void* buffPtr = tp.builder.GetBufferPointer();
181
182 // Retrieve the flatbuffer parameters for Catch2 comparison below
186 if (MagAOX::logger::GetTelem_pokecenter_fb(buffPtr)->poke_x() != nullptr)
187 {
188 for(auto it = MagAOX::logger::GetTelem_pokecenter_fb(buffPtr)->poke_x()->begin();
189 it != MagAOX::logger::GetTelem_pokecenter_fb(buffPtr)->poke_x()->end();
190 ++it)
191 {
192 m_pokes.push_back(*it);
193 }
194 }
195
196 // Run the telem_pokecenter verifier
197 m_verify = verify(tp);
198 }
199
200 // Run the flatbuffer Verifier for this log type
201 // - requires bufferPtrT (shared_ptr<char*>) to full log entry
202 // comprising log header plus flatbuffer log message
204
205 // Timestamp, prioriy (use nominal value here)
206 flatlogs::timespecX tsx{0,0};
208
209 // Create full log: log header(*); log message (+)
210 // * Log level (priority)
211 // * Event code (implicit in <MagAOX::logger::type>)
212 // * Timestamp
213 // * Message size (variable length; 1, 2, or 8 bytes)
214 // + Message (variable length)
215
216 // N.G. allocates space and writes pointer value to logBuffer
217 flatlogs::bufferPtrT logBuffer;
218 flatlogs::logHeader::createLog<MagAOX::logger::telem_pokecenter>(logBuffer
219 , tsx, msg
220 , prio);
221 // Run full log through flatbuffer Verifier
223 }
224};
225
226SCENARIO( "Create telem_pokecenter 1", "[a log item]")
227{
228 GIVEN("a telem_pokecenter log code")
229 {
230 WHEN("random values for fields")
231 {
232 // Create flatbuffer
234 // Compare flatbuffer parameters
236 REQUIRE(tp.m_pupil_x == telemPokecenterPupil_x_1);
237 REQUIRE(tp.m_pupil_y == telemPokecenterPupil_y_1);
239 REQUIRE(tp.m_verify);
240 }
241 }
242}
243
244
bool verify(const typename MagAOX::logger::telem_pokecenter::messageT &msg)
CTelemPokecenter_0(uint8_t measuring_, float pupil_x_, float pupil_y_, std::vector< float > poke_x_, std::vector< float > poke_y_)
bool verify(const typename MagAOX::logger::telem_pokecenter::messageT &msg)
CTelemPokecenter_1(uint8_t measuring_, float pupil_x_, float pupil_y_, std::vector< float > pokes_)
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_pokecenter_fb * GetTelem_pokecenter_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.
static bool verify(flatlogs::bufferPtrT &logBuff, flatlogs::msgLenT len)
A fixed-width timespec structure.
Definition timespecX.hpp:35
const std::vector< float > telemPokecenterPoke_y_0
const uint8_t telemPokecenterMeasuring_0
const float telemPokecenterPupil_y_1
const std::vector< float > telemPokecenterSpecialPokes_1
const std::vector< float > telemPokecenterPoke_x_0
const float telemPokecenterPupil_x_1
const uint8_t telemPokecenterMeasuring_1
const float telemPokecenterPupil_y_0
const float telemPokecenterPupil_x_0
SCENARIO("Create telem_pokecenter 0", "[a log item]")
const std::vector< float > telemPokecenterPokes_1