API
 
Loading...
Searching...
No Matches
telem_telpos_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_telpos.hpp"
5#include "../types/generated/telem_telpos_generated.h"
6#include "../types/flatbuffer_log.hpp"
7
8/*
9 * GENERATED TEST FILE for types/telem_telpos.hpp
10 * generated by generateTemplateCatch2Tests.py
11 */
12
13const double telemTelposEpoch_0 = 0.74449673856652; // dummy epoch
14const double telemTelposRa_0 = 0.19374647393752; // dummy ra
15const double telemTelposDec_0 = 0.6167133356862; // dummy dec
16const double telemTelposEl_0 = 0.0609430923707; // dummy el
17const double telemTelposHa_0 = 0.571704666163; // dummy ha
18const double telemTelposAm_0 = 0.5076385268617; // dummy am
19const double telemTelposRotoff_0 = 0.7383288897269; // dummy rotoff
20
21
22/** Class to encapsulate telem_telpos flatbuffer data using
23 ** => types/telem_telpos.hpp
24 ** => types/generated/telem_telpos_generated.h
25 **/
27{
28public:
29 // Saved input parameter value; unused
31 double m_saveTtRa;
33 double m_saveTtEl;
34 double m_saveTtHa;
35 double m_saveTtAm;
37
38 // Parameters retrieved from flatbuffer
39 double m_epoch;
40 double m_ra;
41 double m_dec;
42 double m_el;
43 double m_ha;
44 double m_am;
45 double m_rotoff;
46
47 // Flatbuffers verifier success/failure
48 bool m_verify{false};
49
50 // flatbuffer data length; used in ::verify
51 int L;
52
53 // Constructor
54 CTelemTelpos_0(double epoch_, double ra_, double dec_, double el_, double ha_, double am_, double rotoff_) {
55 // Save input parameters
56 m_saveTtEpoch = epoch_;
57 m_saveTtRa = ra_;
58 m_saveTtDec = dec_;
59 m_saveTtEl = el_;
60 m_saveTtHa = ha_;
61 m_saveTtAm = am_;
62 m_saveTtRotoff = rotoff_;
63
64 // Create the flatbuffer messageT using the input parameters
65 auto tt = MagAOX::logger::telem_telpos::messageT(epoch_, ra_, dec_, el_, ha_, am_, rotoff_);
66
67 // Retrieve flatbuffer pointer (if not an empty_log type) and length
68 void* buffPtr = tt.builder.GetBufferPointer();
70
71 // Retrieve the flatbuffer parameters for Catch2 comparison below
79
80 // Run the telem_telpos verifier
81 m_verify = verify(tt);
82 }
83
84 // Run the flatbuffer Verifier for this log type
85 // - requires bufferPtrT (shared_ptr<char*>) to full log entry
86 // comprising log header plus flatbuffer log message
88
89 // Timestamp, prioriy (use nominal value here)
90 flatlogs::timespecX tsx{0,0};
92
93 // Create full log: log header(*); log message (+)
94 // * Log level (priority)
95 // * Event code (implicit in <MagAOX::logger::type>)
96 // * Timestamp
97 // * Message size (variable length; 1, 2, or 8 bytes)
98 // + Message (variable length)
99
100 // N.G. allocates space and writes pointer value to logBuffer
101 flatlogs::bufferPtrT logBuffer;
102 flatlogs::logHeader::createLog<MagAOX::logger::telem_telpos>(logBuffer
103 , tsx, msg
104 , prio);
105 // Run full log through flatbuffer Verifier
106 return MagAOX::logger::telem_telpos::verify(logBuffer,L);
107 }
108};
109
110SCENARIO( "Create telem_telpos 0", "[a log item]")
111{
112 GIVEN("a telem_telpos log code")
113 {
114 WHEN("random values for fields")
115 {
116 // Create flatbuffer
118 // Compare flatbuffer parameters
119 REQUIRE(tt.m_epoch == telemTelposEpoch_0);
120 REQUIRE(tt.m_ra == telemTelposRa_0);
121 REQUIRE(tt.m_dec == telemTelposDec_0);
122 REQUIRE(tt.m_el == telemTelposEl_0);
123 REQUIRE(tt.m_ha == telemTelposHa_0);
124 REQUIRE(tt.m_am == telemTelposAm_0);
125 REQUIRE(tt.m_rotoff == telemTelposRotoff_0);
126 REQUIRE(tt.m_verify);
127 }
128 }
129}
130
131
bool verify(const typename MagAOX::logger::telem_telpos::messageT &msg)
CTelemTelpos_0(double epoch_, double ra_, double dec_, double el_, double ha_, double am_, double rotoff_)
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_telpos_fb * GetTelem_telpos_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 telemTelposEl_0
const double telemTelposRotoff_0
const double telemTelposDec_0
const double telemTelposRa_0
const double telemTelposHa_0
SCENARIO("Create telem_telpos 0", "[a log item]")
const double telemTelposEpoch_0
const double telemTelposAm_0