Skip to content

Commit 6ea033f

Browse files
add test for array and string to config parser test
1 parent eb02860 commit 6ea033f

3 files changed

Lines changed: 35 additions & 1 deletion

File tree

src/SHM_Data_bytearray.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,6 @@ class SHM_Data_bytearray final : public SHM_data {
1414
SHM_Data_bytearray(std::string name, const void *data, std::size_t address, std::size_t length);
1515

1616
[[nodiscard]] nlohmann::json get_data() const override;
17+
18+
[[nodiscard]] inline std::size_t get_length() const { return length; }
1719
};

src/SHM_Data_string.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,6 @@ class SHM_Data_string final : public SHM_data {
1414
SHM_Data_string(std::string name, const void *data, std::size_t address, std::size_t length);
1515

1616
[[nodiscard]] nlohmann::json get_data() const override;
17+
18+
[[nodiscard]] inline std::size_t get_length() const { return length; }
1719
};

test/test_config_parser.cpp

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#include "../src/parse_config_file.hpp"
33

44
#include "../src/SHM_Data_bool.hpp"
5+
#include "../src/SHM_Data_bytearray.hpp"
56
#include "../src/SHM_Data_f32b.hpp"
67
#include "../src/SHM_Data_f32br.hpp"
78
#include "../src/SHM_Data_f32l.hpp"
@@ -21,6 +22,7 @@
2122
#include "../src/SHM_Data_i64l.hpp"
2223
#include "../src/SHM_Data_i64lr.hpp"
2324
#include "../src/SHM_Data_i8.hpp"
25+
#include "../src/SHM_Data_string.hpp"
2426
#include "../src/SHM_Data_u16b.hpp"
2527
#include "../src/SHM_Data_u16l.hpp"
2628
#include "../src/SHM_Data_u32b.hpp"
@@ -133,6 +135,14 @@ int main() {
133135
"76,u64_hgfedcba\n"
134136
"77,u64_badcfehg\n"
135137

138+
"78,a16\n"
139+
"79,arr32\n"
140+
"80,array64\n"
141+
142+
"81,s16\n"
143+
"82,str32\n"
144+
"83,string64\n"
145+
136146
"";
137147

138148

@@ -143,7 +153,7 @@ int main() {
143153

144154
auto parse_result = parse_config_file(stream, shm);
145155

146-
assert(parse_result.size() == 78);
156+
assert(parse_result.size() == 84);
147157

148158
std::size_t i = 0;
149159
assert(dynamic_cast<SHM_Data_bool &>(*parse_result.at(i).get()).get_address() == i);
@@ -287,4 +297,24 @@ int main() {
287297
assert(dynamic_cast<SHM_Data_u64lr &>(*parse_result.at(i).get()).get_address() == i);
288298
++i;
289299
}
300+
301+
assert(dynamic_cast<SHM_Data_bytearray &>(*parse_result.at(i).get()).get_address() == i);
302+
assert(dynamic_cast<SHM_Data_bytearray &>(*parse_result.at(i).get()).get_length() == 16);
303+
++i;
304+
assert(dynamic_cast<SHM_Data_bytearray &>(*parse_result.at(i).get()).get_address() == i);
305+
assert(dynamic_cast<SHM_Data_bytearray &>(*parse_result.at(i).get()).get_length() == 32);
306+
++i;
307+
assert(dynamic_cast<SHM_Data_bytearray &>(*parse_result.at(i).get()).get_address() == i);
308+
assert(dynamic_cast<SHM_Data_bytearray &>(*parse_result.at(i).get()).get_length() == 64);
309+
++i;
310+
311+
assert(dynamic_cast<SHM_Data_string &>(*parse_result.at(i).get()).get_address() == i);
312+
assert(dynamic_cast<SHM_Data_string &>(*parse_result.at(i).get()).get_length() == 16);
313+
++i;
314+
assert(dynamic_cast<SHM_Data_string &>(*parse_result.at(i).get()).get_address() == i);
315+
assert(dynamic_cast<SHM_Data_string &>(*parse_result.at(i).get()).get_length() == 32);
316+
++i;
317+
assert(dynamic_cast<SHM_Data_string &>(*parse_result.at(i).get()).get_address() == i);
318+
assert(dynamic_cast<SHM_Data_string &>(*parse_result.at(i).get()).get_length() == 64);
319+
++i;
290320
}

0 commit comments

Comments
 (0)