summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorBenjamin Paassen <bpaassen@techfak.uni-bielefeld.de>2015-02-13 11:34:24 +0100
committerBenjamin Paassen <bpaassen@techfak.uni-bielefeld.de>2015-02-13 11:34:24 +0100
commit4c8cf263e280bd1e59241b7a783d61e6621a2c5e (patch)
tree4fd23b9b5e8ec5d3f53979bc387f7a7ea54eb532 /test
parent3ed124aeed2cb65b05f61224115366601ee3b05f (diff)
added VariantReader::parseBool
Diffstat (limited to 'test')
-rw-r--r--test/core/common/VariantReaderTest.cpp50
1 files changed, 49 insertions, 1 deletions
diff --git a/test/core/common/VariantReaderTest.cpp b/test/core/common/VariantReaderTest.cpp
index f6a699b..7a688c5 100644
--- a/test/core/common/VariantReaderTest.cpp
+++ b/test/core/common/VariantReaderTest.cpp
@@ -205,7 +205,7 @@ TEST(VariantReader, parseUnescapedString)
// Simple case with whitespace
{
- CharReader reader(" hello world ; ");
+ CharReader reader(" hello world ; aha");
auto res = VariantReader::parseUnescapedString(reader, logger, {';'});
ASSERT_TRUE(res.first);
ASSERT_EQ("hello world", res.second);
@@ -228,6 +228,54 @@ TEST(VariantReader, parseUnescapedString)
}
}
+TEST(VariantReader, parseBool)
+{
+ // Valid bools
+ {
+ CharReader reader(" true ");
+ auto res = VariantReader::parseBool(reader, logger);
+ ASSERT_TRUE(res.first);
+ ASSERT_TRUE(res.second);
+ }
+ {
+ CharReader reader(" false ");
+ auto res = VariantReader::parseBool(reader, logger);
+ ASSERT_TRUE(res.first);
+ ASSERT_FALSE(res.second);
+ }
+ {
+ CharReader reader(" true bla");
+ auto res = VariantReader::parseBool(reader, logger);
+ ASSERT_TRUE(res.first);
+ ASSERT_TRUE(res.second);
+ reader.consumeWhitespace();
+ char c;
+ ASSERT_TRUE(reader.read(c));
+ ASSERT_EQ('b', c);
+ ASSERT_TRUE(reader.read(c));
+ ASSERT_EQ('l', c);
+ ASSERT_TRUE(reader.read(c));
+ ASSERT_EQ('a', c);
+ ASSERT_FALSE(reader.read(c));
+ }
+ // invalid bools.
+ {
+ CharReader reader(" bla ");
+ auto res = VariantReader::parseBool(reader, logger);
+ ASSERT_FALSE(res.first);
+ }
+ {
+ CharReader reader(" TRUE ");
+ auto res = VariantReader::parseBool(reader, logger);
+ ASSERT_FALSE(res.first);
+ }
+ {
+ CharReader reader(" tr ue ");
+ auto res = VariantReader::parseBool(reader, logger);
+ ASSERT_FALSE(res.first);
+ }
+}
+
static const std::unordered_set<char> noDelim;
TEST(VariantReader, parseInteger)