API
 
Loading...
Searching...
No Matches
telem_telvane_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_telvane.hpp"
5#include "../types/generated/telem_telvane_generated.h"
6#include "../types/flatbuffer_log.hpp"
7
8/*
9 * GENERATED TEST FILE for types/telem_telvane.hpp
10 * generated by generateTemplateCatch2Tests.py
11 */
12
13const double telemTelvaneSecz_0 = 0.31236441200578; // dummy secz
14const double telemTelvaneEncz_0 = 0.69851338704316; // dummy encz
15const double telemTelvaneSecx_0 = 0.79868252998163; // dummy secx
16const double telemTelvaneEncx_0 = 0.43575855739148; // dummy encx
17const double telemTelvaneSecy_0 = 0.2843588636754; // dummy secy
18const double telemTelvaneEncy_0 = 0.76552297146215; // dummy ency
19const double telemTelvaneSech_0 = 0.00548526414016; // dummy sech
20const double telemTelvaneEnch_0 = 0.91247318604821; // dummy ench
21const double telemTelvaneSecv_0 = 0.43210748305681; // dummy secv
22const double telemTelvaneEncv_0 = 0.67613634949009; // dummy encv
23
24
25/** Class to encapsulate telem_telvane flatbuffer data using
26 ** => types/telem_telvane.hpp
27 ** => types/generated/telem_telvane_generated.h
28 **/
30{
31public:
32 // Saved input parameter value; unused
43
44 // Parameters retrieved from flatbuffer
45 double m_secz;
46 double m_encz;
47 double m_secx;
48 double m_encx;
49 double m_secy;
50 double m_ency;
51 double m_sech;
52 double m_ench;
53 double m_secv;
54 double m_encv;
55
56 // Flatbuffers verifier success/failure
57 bool m_verify{false};
58
59 // flatbuffer data length; used in ::verify
60 int L;
61
62 // Constructor
63 CTelemTelvane_0(double secz_, double encz_, double secx_, double encx_, double secy_, double ency_, double sech_, double ench_, double secv_, double encv_) {
64 // Save input parameters
65 m_saveTtSecz = secz_;
66 m_saveTtEncz = encz_;
67 m_saveTtSecx = secx_;
68 m_saveTtEncx = encx_;
69 m_saveTtSecy = secy_;
70 m_saveTtEncy = ency_;
71 m_saveTtSech = sech_;
72 m_saveTtEnch = ench_;
73 m_saveTtSecv = secv_;
74 m_saveTtEncv = encv_;
75
76 // Create the flatbuffer messageT using the input parameters
77 auto tt = MagAOX::logger::telem_telvane::messageT(secz_, encz_, secx_, encx_, secy_, ency_, sech_, ench_, secv_, encv_);
78
79 // Retrieve flatbuffer pointer (if not an empty_log type) and length
80 void* buffPtr = tt.builder.GetBufferPointer();
82
83 // Retrieve the flatbuffer parameters for Catch2 comparison below
94
95 // Run the telem_telvane verifier
96 m_verify = verify(tt);
97 }
98
99 // Run the flatbuffer Verifier for this log type
100 // - requires bufferPtrT (shared_ptr<char*>) to full log entry
101 // comprising log header plus flatbuffer log message
103
104 // Timestamp, prioriy (use nominal value here)
105 flatlogs::timespecX tsx{0,0};
107
108 // Create full log: log header(*); log message (+)
109 // * Log level (priority)
110 // * Event code (implicit in <MagAOX::logger::type>)
111 // * Timestamp
112 // * Message size (variable length; 1, 2, or 8 bytes)
113 // + Message (variable length)
114
115 // N.G. allocates space and writes pointer value to logBuffer
116 flatlogs::bufferPtrT logBuffer;
117 flatlogs::logHeader::createLog<MagAOX::logger::telem_telvane>(logBuffer
118 , tsx, msg
119 , prio);
120 // Run full log through flatbuffer Verifier
122 }
123};
124
125SCENARIO( "Create telem_telvane 0", "[a log item]")
126{
127 GIVEN("a telem_telvane log code")
128 {
129 WHEN("random values for fields")
130 {
131 // Create flatbuffer
133 // Compare flatbuffer parameters
134 REQUIRE(tt.m_secz == telemTelvaneSecz_0);
135 REQUIRE(tt.m_encz == telemTelvaneEncz_0);
136 REQUIRE(tt.m_secx == telemTelvaneSecx_0);
137 REQUIRE(tt.m_encx == telemTelvaneEncx_0);
138 REQUIRE(tt.m_secy == telemTelvaneSecy_0);
139 REQUIRE(tt.m_ency == telemTelvaneEncy_0);
140 REQUIRE(tt.m_sech == telemTelvaneSech_0);
141 REQUIRE(tt.m_ench == telemTelvaneEnch_0);
142 REQUIRE(tt.m_secv == telemTelvaneSecv_0);
143 REQUIRE(tt.m_encv == telemTelvaneEncv_0);
144 REQUIRE(tt.m_verify);
145 }
146 }
147}
148
149
bool verify(const typename MagAOX::logger::telem_telvane::messageT &msg)
CTelemTelvane_0(double secz_, double encz_, double secx_, double encx_, double secy_, double ency_, double sech_, double ench_, double secv_, double encv_)
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_telvane_fb * GetTelem_telvane_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 double telemTelvaneEncv_0
const double telemTelvaneSecy_0
const double telemTelvaneEnch_0
SCENARIO("Create telem_telvane 0", "[a log item]")
const double telemTelvaneSecv_0
const double telemTelvaneSecx_0
const double telemTelvaneEncz_0
const double telemTelvaneSecz_0
const double telemTelvaneSech_0
const double telemTelvaneEncy_0
const double telemTelvaneEncx_0