| 43 | namespace tests { |
| 44 | |
| 45 | TEST(ValuesTest, ValidInput) |
| 46 | { |
| 47 | // Test parsing scalar type. |
| 48 | Try<Value> result1 = parse("45.55"); |
| 49 | ASSERT_SOME(result1); |
| 50 | ASSERT_EQ(Value::SCALAR, result1->type()); |
| 51 | EXPECT_DOUBLE_EQ(45.55, result1->scalar().value()); |
| 52 | |
| 53 | // Test parsing ranges type. |
| 54 | Try<Value> result2 = parse("[10000-20000, 30000-50000]"); |
| 55 | ASSERT_SOME(result2); |
| 56 | ASSERT_EQ(Value::RANGES, result2->type()); |
| 57 | EXPECT_EQ(2, result2->ranges().range_size()); |
| 58 | EXPECT_EQ(10000u, result2->ranges().range(0).begin()); |
| 59 | EXPECT_EQ(20000u, result2->ranges().range(0).end()); |
| 60 | EXPECT_EQ(30000u, result2->ranges().range(1).begin()); |
| 61 | EXPECT_EQ(50000u, result2->ranges().range(1).end()); |
| 62 | |
| 63 | // Test parsing set type. |
| 64 | Try<Value> result3 = parse("{sda1, sda2}"); |
| 65 | ASSERT_SOME(result3); |
| 66 | ASSERT_EQ(Value::SET, result3->type()); |
| 67 | ASSERT_EQ(2, result3->set().item_size()); |
| 68 | EXPECT_EQ("sda1", result3->set().item(0)); |
| 69 | EXPECT_EQ("sda2", result3->set().item(1)); |
| 70 | |
| 71 | // Test parsing text type. |
| 72 | Try<Value> result4 = parse("123abc,s"); |
| 73 | ASSERT_SOME(result4); |
| 74 | ASSERT_EQ(Value::TEXT, result4->type()); |
| 75 | ASSERT_EQ("123abc,s", result4->text().value()); |
| 76 | } |
| 77 | |
| 78 | |
| 79 | TEST(ValuesTest, InvalidInput) |
nothing calls this directly
no test coverage detected