API
 
Loading...
Searching...
No Matches
telem_telsee_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_telsee.hpp"
5#include "../types/generated/telem_telsee_generated.h"
6#include "../types/flatbuffer_log.hpp"
7
8/*
9 * GENERATED TEST FILE for types/telem_telsee.hpp
10 * generated by generateTemplateCatch2Tests.py
11 */
12
13const int telemTelseeDimm_time_0 = -254672030; // dummy dimm_time
14const double telemTelseeDimm_el_0 = 0.08388544215294; // dummy dimm_el
15const double telemTelseeDimm_fwhm_corr_0 = 0.84669319032997; // dummy dimm_fwhm_corr
16const double telemTelseeDimm_fwhm_bad_0 = 0.35467551626504; // dummy dimm_fwhm_bad
17const int telemTelseeMag1_time_0 = 700805638; // dummy mag1_time
18const double telemTelseeMag1_el_0 = 0.05167254896675; // dummy mag1_el
19const double telemTelseeMag1_fwhm_0 = 0.44632400012653; // dummy mag1_fwhm
20const double telemTelseeMag1_fwhm_corr_0 = 0.41948529233358; // dummy mag1_fwhm_corr
21const int telemTelseeMag2_time_0 = -2071564531; // dummy mag2_time
22const double telemTelseeMag2_el_0 = 0.69973976738341; // dummy mag2_el
23const double telemTelseeMag2_fwhm_0 = 0.85109422759018; // dummy mag2_fwhm
24const double telemTelseeMag2_fwhm_corr_0 = 0.65417107553532; // dummy mag2_fwhm_corr
25
26
27/** Class to encapsulate telem_telsee flatbuffer data using
28 ** => types/telem_telsee.hpp
29 ** => types/generated/telem_telsee_generated.h
30 **/
32{
33public:
34 // Saved input parameter value; unused
47
48 // Parameters retrieved from flatbuffer
50 double m_dimm_el;
54 double m_mag1_el;
58 double m_mag2_el;
61
62 // Flatbuffers verifier success/failure
63 bool m_verify{false};
64
65 // flatbuffer data length; used in ::verify
66 int L;
67
68 // Constructor
69 CTelemTelsee_0(int dimm_time_, double dimm_el_, double dimm_fwhm_corr_, double dimm_fwhm_bad_, int mag1_time_, double mag1_el_, double mag1_fwhm_, double mag1_fwhm_corr_, int mag2_time_, double mag2_el_, double mag2_fwhm_, double mag2_fwhm_corr_) {
70 // Save input parameters
71 m_saveTtDimm_time = dimm_time_;
72 m_saveTtDimm_el = dimm_el_;
73 m_saveTtDimm_fwhm_corr = dimm_fwhm_corr_;
74 m_saveTtDimm_fwhm_bad = dimm_fwhm_bad_;
75 m_saveTtMag1_time = mag1_time_;
76 m_saveTtMag1_el = mag1_el_;
77 m_saveTtMag1_fwhm = mag1_fwhm_;
78 m_saveTtMag1_fwhm_corr = mag1_fwhm_corr_;
79 m_saveTtMag2_time = mag2_time_;
80 m_saveTtMag2_el = mag2_el_;
81 m_saveTtMag2_fwhm = mag2_fwhm_;
82 m_saveTtMag2_fwhm_corr = mag2_fwhm_corr_;
83
84 // Create the flatbuffer messageT using the input parameters
85 auto tt = MagAOX::logger::telem_telsee::messageT(dimm_time_, dimm_el_, dimm_fwhm_corr_, dimm_fwhm_bad_, mag1_time_, mag1_el_, mag1_fwhm_, mag1_fwhm_corr_, mag2_time_, mag2_el_, mag2_fwhm_, mag2_fwhm_corr_);
86
87 // Retrieve flatbuffer pointer (if not an empty_log type) and length
88 void* buffPtr = tt.builder.GetBufferPointer();
90
91 // Retrieve the flatbuffer parameters for Catch2 comparison below
92 m_dimm_time = MagAOX::logger::GetTelem_telsee_fb(buffPtr)->dimm_time();
94 m_dimm_fwhm_corr = MagAOX::logger::GetTelem_telsee_fb(buffPtr)->dimm_fwhm_corr();
95 m_dimm_fwhm_bad = MagAOX::logger::GetTelem_telsee_fb(buffPtr)->dimm_fwhm_bad();
96 m_mag1_time = MagAOX::logger::GetTelem_telsee_fb(buffPtr)->mag1_time();
98 m_mag1_fwhm = MagAOX::logger::GetTelem_telsee_fb(buffPtr)->mag1_fwhm();
99 m_mag1_fwhm_corr = MagAOX::logger::GetTelem_telsee_fb(buffPtr)->mag1_fwhm_corr();
100 m_mag2_time = MagAOX::logger::GetTelem_telsee_fb(buffPtr)->mag2_time();
101 m_mag2_el = MagAOX::logger::GetTelem_telsee_fb(buffPtr)->mag2_el();
102 m_mag2_fwhm = MagAOX::logger::GetTelem_telsee_fb(buffPtr)->mag2_fwhm();
103 m_mag2_fwhm_corr = MagAOX::logger::GetTelem_telsee_fb(buffPtr)->mag2_fwhm_corr();
104
105 // Run the telem_telsee verifier
106 m_verify = verify(tt);
107 }
108
109 // Run the flatbuffer Verifier for this log type
110 // - requires bufferPtrT (shared_ptr<char*>) to full log entry
111 // comprising log header plus flatbuffer log message
113
114 // Timestamp, prioriy (use nominal value here)
115 flatlogs::timespecX tsx{0,0};
117
118 // Create full log: log header(*); log message (+)
119 // * Log level (priority)
120 // * Event code (implicit in <MagAOX::logger::type>)
121 // * Timestamp
122 // * Message size (variable length; 1, 2, or 8 bytes)
123 // + Message (variable length)
124
125 // N.G. allocates space and writes pointer value to logBuffer
126 flatlogs::bufferPtrT logBuffer;
127 flatlogs::logHeader::createLog<MagAOX::logger::telem_telsee>(logBuffer
128 , tsx, msg
129 , prio);
130 // Run full log through flatbuffer Verifier
131 return MagAOX::logger::telem_telsee::verify(logBuffer,L);
132 }
133};
134
135SCENARIO( "Create telem_telsee 0", "[a log item]")
136{
137 GIVEN("a telem_telsee log code")
138 {
139 WHEN("random values for fields")
140 {
141 // Create flatbuffer
143 // Compare flatbuffer parameters
144 REQUIRE(tt.m_dimm_time == telemTelseeDimm_time_0);
145 REQUIRE(tt.m_dimm_el == telemTelseeDimm_el_0);
148 REQUIRE(tt.m_mag1_time == telemTelseeMag1_time_0);
149 REQUIRE(tt.m_mag1_el == telemTelseeMag1_el_0);
150 REQUIRE(tt.m_mag1_fwhm == telemTelseeMag1_fwhm_0);
152 REQUIRE(tt.m_mag2_time == telemTelseeMag2_time_0);
153 REQUIRE(tt.m_mag2_el == telemTelseeMag2_el_0);
154 REQUIRE(tt.m_mag2_fwhm == telemTelseeMag2_fwhm_0);
156 REQUIRE(tt.m_verify);
157 }
158 }
159}
160
161
CTelemTelsee_0(int dimm_time_, double dimm_el_, double dimm_fwhm_corr_, double dimm_fwhm_bad_, int mag1_time_, double mag1_el_, double mag1_fwhm_, double mag1_fwhm_corr_, int mag2_time_, double mag2_el_, double mag2_fwhm_, double mag2_fwhm_corr_)
bool verify(const typename MagAOX::logger::telem_telsee::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::Telem_telsee_fb * GetTelem_telsee_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
const int telemTelseeDimm_time_0
SCENARIO("Create telem_telsee 0", "[a log item]")
const double telemTelseeMag1_fwhm_0
const double telemTelseeMag1_fwhm_corr_0
const double telemTelseeMag2_fwhm_corr_0
const double telemTelseeDimm_el_0
const int telemTelseeMag2_time_0
const double telemTelseeMag2_el_0
const double telemTelseeMag2_fwhm_0
const double telemTelseeDimm_fwhm_corr_0
const double telemTelseeDimm_fwhm_bad_0
const int telemTelseeMag1_time_0
const double telemTelseeMag1_el_0