API
 
Loading...
Searching...
No Matches
telem_chrony_stats_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_chrony_stats.hpp"
5#include "../types/generated/telem_chrony_stats_generated.h"
6#include "../types/flatbuffer_log.hpp"
7
8/*
9 * GENERATED TEST FILE for types/telem_chrony_stats.hpp
10 * generated by generateTemplateCatch2Tests.py
11 */
12
13const double telemChronyStatsSystemTime_0 = 0.5013466252362; // dummy systemTime
14const double telemChronyStatsLastOffset_0 = 0.5007549465747; // dummy lastOffset
15const double telemChronyStatsRmsOffset_0 = 0.63749771442728; // dummy rmsOffset
16const double telemChronyStatsFreq_0 = 0.15431590612215; // dummy freq
17const double telemChronyStatsResidFreq_0 = 0.99651959538765; // dummy residFreq
18const double telemChronyStatsSkew_0 = 0.73565677571621; // dummy skew
19const double telemChronyStatsRootDelay_0 = 0.44862259835905; // dummy rootDelay
20const double telemChronyStatsRootDispersion_0 = 0.31196045809993; // dummy rootDispersion
21const double telemChronyStatsUpdateInt_0 = 0.42152379864314; // dummy updateInt
22
23
24/** Class to encapsulate telem_chrony_stats flatbuffer data using
25 ** => types/telem_chrony_stats.hpp
26 ** => types/generated/telem_chrony_stats_generated.h
27 **/
29{
30public:
31 // Saved input parameter value; unused
41
42 // Parameters retrieved from flatbuffer
46 double m_freq;
48 double m_skew;
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 CTelemChronyStats_0(double systemTime_, double lastOffset_, double rmsOffset_, double freq_, double residFreq_, double skew_, double rootDelay_, double rootDispersion_, double updateInt_) {
61 // Save input parameters
62 m_saveTcsSystemTime = systemTime_;
63 m_saveTcsLastOffset = lastOffset_;
64 m_saveTcsRmsOffset = rmsOffset_;
65 m_saveTcsFreq = freq_;
66 m_saveTcsResidFreq = residFreq_;
67 m_saveTcsSkew = skew_;
68 m_saveTcsRootDelay = rootDelay_;
69 m_saveTcsRootDispersion = rootDispersion_;
70 m_saveTcsUpdateInt = updateInt_;
71
72 // Create the flatbuffer messageT using the input parameters
73 auto tcs = MagAOX::logger::telem_chrony_stats::messageT(systemTime_, lastOffset_, rmsOffset_, freq_, residFreq_, skew_, rootDelay_, rootDispersion_, updateInt_);
74
75 // Retrieve flatbuffer pointer (if not an empty_log type) and length
76 void* buffPtr = tcs.builder.GetBufferPointer();
78
79 // Retrieve the flatbuffer parameters for Catch2 comparison below
89
90 // Run the telem_chrony_stats verifier
91 m_verify = verify(tcs);
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_chrony_stats>(logBuffer
113 , tsx, msg
114 , prio);
115 // Run full log through flatbuffer Verifier
117 }
118};
119
120SCENARIO( "Create telem_chrony_stats 0", "[a log item]")
121{
122 GIVEN("a telem_chrony_stats log code")
123 {
124 WHEN("random values for fields")
125 {
126 // Create flatbuffer
128 // Compare flatbuffer parameters
132 REQUIRE(tcs.m_freq == telemChronyStatsFreq_0);
134 REQUIRE(tcs.m_skew == telemChronyStatsSkew_0);
138 REQUIRE(tcs.m_verify);
139 }
140 }
141}
142
143
CTelemChronyStats_0(double systemTime_, double lastOffset_, double rmsOffset_, double freq_, double residFreq_, double skew_, double rootDelay_, double rootDispersion_, double updateInt_)
bool verify(const typename MagAOX::logger::telem_chrony_stats::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_chrony_stats_fb * GetTelem_chrony_stats_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 double telemChronyStatsSkew_0
const double telemChronyStatsResidFreq_0
SCENARIO("Create telem_chrony_stats 0", "[a log item]")
const double telemChronyStatsLastOffset_0
const double telemChronyStatsUpdateInt_0
const double telemChronyStatsRootDispersion_0
const double telemChronyStatsFreq_0
const double telemChronyStatsRmsOffset_0
const double telemChronyStatsRootDelay_0
const double telemChronyStatsSystemTime_0