aboutsummaryrefslogtreecommitdiff
path: root/sensor/test/SampleTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sensor/test/SampleTest.cpp')
-rw-r--r--sensor/test/SampleTest.cpp33
1 files changed, 32 insertions, 1 deletions
diff --git a/sensor/test/SampleTest.cpp b/sensor/test/SampleTest.cpp
index 9737d02..8479e75 100644
--- a/sensor/test/SampleTest.cpp
+++ b/sensor/test/SampleTest.cpp
@@ -20,6 +20,7 @@ BOOST_AUTO_TEST_CASE(key_value_parser) {
char data[] = "a=1, b=2, c=3\n";
auto buf = boost::asio::buffer(data, sizeof(data));
parser->process(buf);
+ parser->finish();
BOOST_CHECK_EQUAL(buffer->samples.size(), 1);
BOOST_CHECK_EQUAL(dict.size(), 3);
auto it = dict.begin();
@@ -41,9 +42,11 @@ BOOST_AUTO_TEST_CASE(key_value_parser2) {
char data[] = "now=1,sensor 1=0.000999999833333\n";
auto buf = boost::asio::buffer(data, sizeof(data));
parser->process(buf);
+ parser->finish();
+ BOOST_CHECK_EQUAL(dict.size(), 2);
BOOST_CHECK_EQUAL(buffer->samples.size(), 1);
+
SampleRecord& sample = buffer->samples[0];
- BOOST_CHECK_EQUAL(dict.size(), 2);
auto it = dict.begin();
BOOST_CHECK_EQUAL((*it)->name, "now");
BOOST_CHECK_EQUAL(!sample.at(*it).operator!(), true);
@@ -69,6 +72,7 @@ BOOST_AUTO_TEST_CASE(key_value_parser_with_custom_dict) {
char data[] = "a=1, b=2, c=3\n";
auto buf = boost::asio::buffer(data, sizeof(data));
parser->process(buf);
+ parser->finish();
BOOST_CHECK_EQUAL(buffer->samples.size(), 1);
BOOST_CHECK_EQUAL(dict.size(), 3);
auto it = dict.begin();
@@ -88,5 +92,32 @@ BOOST_AUTO_TEST_CASE(type_detection_key_value) {
char data[] = "a=1, b=2, c=3\n";
auto buf = boost::asio::buffer(data, sizeof(data));
parser->process(buf);
+ parser->finish();
+}
+
+BOOST_AUTO_TEST_CASE(key_value_parser_without_newline) {
+ KeyDictionary dict;
+
+ auto buffer = make_shared<VectorSampleOutputStream>();
+
+ auto parser = make_shared<KeyValueSampleStreamParser>(buffer, dict);
+
+ char data[] = "now=1,sensor=123";
+ auto buf = boost::asio::buffer(data, sizeof(data));
+ parser->process(buf);
+ parser->finish();
+ BOOST_CHECK_EQUAL(dict.size(), 2);
+ BOOST_CHECK_EQUAL(buffer->samples.size(), 1);
+
+ SampleRecord& sample = buffer->samples[0];
+ auto it = dict.begin();
+ BOOST_CHECK_EQUAL((*it)->name, "now");
+ BOOST_CHECK_EQUAL(!sample.at(*it).operator!(), true);
+ BOOST_CHECK_EQUAL(sample.at(*it).get(), "1");
+ BOOST_CHECK_EQUAL((*it++)->index, 0);
+ BOOST_CHECK_EQUAL((*it)->name, "sensor");
+ BOOST_CHECK_EQUAL(!sample.at(*it).operator!(), true);
+ BOOST_CHECK_EQUAL(sample.at(*it).get(), "123");
+ BOOST_CHECK_EQUAL((*it++)->index, 1);
}