🔨 fixed test cases to be more robust

parent 374ebacc
...@@ -74,8 +74,15 @@ class SaxEventLogger : public nlohmann::json::SAX ...@@ -74,8 +74,15 @@ class SaxEventLogger : public nlohmann::json::SAX
} }
bool start_object(std::size_t elements) override bool start_object(std::size_t elements) override
{
if (elements == -1)
{
events.push_back("start_object()");
}
else
{ {
events.push_back("start_object(" + std::to_string(elements) + ")"); events.push_back("start_object(" + std::to_string(elements) + ")");
}
return true; return true;
} }
...@@ -92,8 +99,15 @@ class SaxEventLogger : public nlohmann::json::SAX ...@@ -92,8 +99,15 @@ class SaxEventLogger : public nlohmann::json::SAX
} }
bool start_array(std::size_t elements) override bool start_array(std::size_t elements) override
{
if (elements == -1)
{
events.push_back("start_array()");
}
else
{ {
events.push_back("start_array(" + std::to_string(elements) + ")"); events.push_back("start_array(" + std::to_string(elements) + ")");
}
return true; return true;
} }
...@@ -137,9 +151,9 @@ TEST_CASE("deserialization") ...@@ -137,9 +151,9 @@ TEST_CASE("deserialization")
CHECK(l.events.size() == 10); CHECK(l.events.size() == 10);
CHECK(l.events == std::vector<std::string>( CHECK(l.events == std::vector<std::string>(
{ {
"start_array(18446744073709551615)", "string(foo)", "start_array()", "string(foo)",
"number_unsigned(1)", "number_unsigned(2)", "number_unsigned(3)", "number_unsigned(1)", "number_unsigned(2)", "number_unsigned(3)",
"boolean(false)", "start_object(18446744073709551615)", "boolean(false)", "start_object()",
"number_unsigned(1)", "end_object()", "end_array()" "number_unsigned(1)", "end_object()", "end_array()"
})); }));
} }
...@@ -156,9 +170,9 @@ TEST_CASE("deserialization") ...@@ -156,9 +170,9 @@ TEST_CASE("deserialization")
CHECK(l.events.size() == 10); CHECK(l.events.size() == 10);
CHECK(l.events == std::vector<std::string>( CHECK(l.events == std::vector<std::string>(
{ {
"start_array(18446744073709551615)", "string(foo)", "start_array()", "string(foo)",
"number_unsigned(1)", "number_unsigned(2)", "number_unsigned(3)", "number_unsigned(1)", "number_unsigned(2)", "number_unsigned(3)",
"boolean(false)", "start_object(18446744073709551615)", "boolean(false)", "start_object()",
"number_unsigned(1)", "end_object()", "end_array()" "number_unsigned(1)", "end_object()", "end_array()"
})); }));
} }
...@@ -175,9 +189,9 @@ TEST_CASE("deserialization") ...@@ -175,9 +189,9 @@ TEST_CASE("deserialization")
CHECK(l.events.size() == 10); CHECK(l.events.size() == 10);
CHECK(l.events == std::vector<std::string>( CHECK(l.events == std::vector<std::string>(
{ {
"start_array(18446744073709551615)", "string(foo)", "start_array()", "string(foo)",
"number_unsigned(1)", "number_unsigned(2)", "number_unsigned(3)", "number_unsigned(1)", "number_unsigned(2)", "number_unsigned(3)",
"boolean(false)", "start_object(18446744073709551615)", "boolean(false)", "start_object()",
"number_unsigned(1)", "end_object()", "end_array()" "number_unsigned(1)", "end_object()", "end_array()"
})); }));
} }
...@@ -230,9 +244,9 @@ TEST_CASE("deserialization") ...@@ -230,9 +244,9 @@ TEST_CASE("deserialization")
CHECK(l.events.size() == 10); CHECK(l.events.size() == 10);
CHECK(l.events == std::vector<std::string>( CHECK(l.events == std::vector<std::string>(
{ {
"start_array(18446744073709551615)", "string(foo)", "start_array()", "string(foo)",
"number_unsigned(1)", "number_unsigned(2)", "number_unsigned(3)", "number_unsigned(1)", "number_unsigned(2)", "number_unsigned(3)",
"boolean(false)", "start_object(18446744073709551615)", "boolean(false)", "start_object()",
"number_unsigned(1)", "end_object()", "parse_error(29)" "number_unsigned(1)", "end_object()", "parse_error(29)"
})); }));
} }
...@@ -254,9 +268,9 @@ TEST_CASE("deserialization") ...@@ -254,9 +268,9 @@ TEST_CASE("deserialization")
CHECK(l.events.size() == 10); CHECK(l.events.size() == 10);
CHECK(l.events == std::vector<std::string>( CHECK(l.events == std::vector<std::string>(
{ {
"start_array(18446744073709551615)", "string(foo)", "start_array()", "string(foo)",
"number_unsigned(1)", "number_unsigned(2)", "number_unsigned(3)", "number_unsigned(1)", "number_unsigned(2)", "number_unsigned(3)",
"boolean(false)", "start_object(18446744073709551615)", "boolean(false)", "start_object()",
"number_unsigned(1)", "end_object()", "parse_error(29)" "number_unsigned(1)", "end_object()", "parse_error(29)"
})); }));
} }
...@@ -735,7 +749,7 @@ TEST_CASE("deserialization") ...@@ -735,7 +749,7 @@ TEST_CASE("deserialization")
CHECK(l.events.size() == 3); CHECK(l.events.size() == 3);
CHECK(l.events == std::vector<std::string>( CHECK(l.events == std::vector<std::string>(
{ {
"start_object(18446744073709551615)", "number_unsigned(11)", "start_object()", "number_unsigned(11)",
"parse_error(7)" "parse_error(7)"
})); }));
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment