MCPcopy Create free account
hub / github.com/Serial-Studio/Serial-Studio / TEST_F

Function TEST_F

lib/mdflib/mdflib_test/src/testmultipledgwrite.cpp:125–253  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

123}
124
125TEST_F(TestMultipleDgWrite, Mdf3WriteSingleDG) {
126 if (kSkipTest) {
127 GTEST_SKIP();
128 }
129 size_t max_sample = 10'000'000;
130 path mdf_file(kTestDir);
131 mdf_file.append("single_dg.mf3");
132 {
133 auto writer = MdfFactory::CreateMdfWriter(MdfWriterType::Mdf3Basic);
134
135 writer->Init(mdf_file.string());
136
137 auto* header = writer->Header();
138 ASSERT_TRUE(header != nullptr);
139 header->Author("Ingemar Hedvall");
140 header->Department("ACME Road Runner Company");
141 header->Description("Testing Single DG Measurement");
142 header->Project("MDF3 Write Multiple (Sorted) File");
143
144 {
145 auto* data_group = writer->CreateDataGroup();
146 ASSERT_TRUE(data_group != nullptr);
147
148 auto* channel_group = data_group->CreateChannelGroup();
149 ASSERT_TRUE(channel_group != nullptr);
150
151 auto* master = channel_group->CreateChannel();
152 master->Name("Time");
153 master->Description("Time channel");
154 master->Type(ChannelType::Master);
155 master->DataType(ChannelDataType::FloatLe);
156 master->DataBytes(4);
157 master->Unit("s");
158
159 for (size_t cn_index = 0; cn_index < 3; ++cn_index) {
160 auto* channel = channel_group->CreateChannel();
161 ASSERT_TRUE(channel != nullptr);
162 std::ostringstream name;
163 name << "Channel_" << cn_index + 1;
164 channel->Name(name.str());
165 channel->Description("Channel description");
166 channel->Type(ChannelType::FixedLength);
167 channel->DataType(ChannelDataType::FloatLe);
168 channel->DataBytes(4);
169 channel->Unit("s");
170 }
171 }
172 writer->InitMeasurement();
173 const auto start_time = MdfHelper::NowNs();
174
175 writer->StartMeasurement(start_time);
176 auto old_f_size = file_size(mdf_file);
177 size_t file_save = 0;
178 size_t sample;
179 for (sample = 0; sample < max_sample && file_save <= 1; ++sample) {
180 for (auto* data_group : header->DataGroups()) {
181 for (auto* channel_group : data_group->ChannelGroups()) {
182 auto value = static_cast<double>(sample);

Callers

nothing calls this directly

Calls 15

PreTrigTimeMethod · 0.80
CompressDataMethod · 0.80
SavePeriodicMethod · 0.80
appendMethod · 0.45
InitMethod · 0.45
HeaderMethod · 0.45
AuthorMethod · 0.45
DepartmentMethod · 0.45
DescriptionMethod · 0.45
ProjectMethod · 0.45
CreateDataGroupMethod · 0.45

Tested by

no test coverage detected