| 13 | { |
| 14 | |
| 15 | TEST(MajorMinorVersionTest, ParseFromString) |
| 16 | { |
| 17 | settings::MajorMinorVersion v1("2.13.0"); |
| 18 | EXPECT_EQ(v1.getMajorVersion(), 2); |
| 19 | EXPECT_EQ(v1.getMinorVersion(), 13); |
| 20 | |
| 21 | settings::MajorMinorVersion v2("2.14.0pre4"); |
| 22 | EXPECT_EQ(v2.getMajorVersion(), 2); |
| 23 | EXPECT_EQ(v2.getMinorVersion(), 14); |
| 24 | |
| 25 | settings::MajorMinorVersion v3("2.15.0pre1_rev563abfa"); |
| 26 | EXPECT_EQ(v3.getMajorVersion(), 2); |
| 27 | EXPECT_EQ(v3.getMinorVersion(), 15); |
| 28 | |
| 29 | settings::MajorMinorVersion v3a("2.15.4_rev563abfa"); |
| 30 | EXPECT_EQ(v3a.getMajorVersion(), 2); |
| 31 | EXPECT_EQ(v3a.getMinorVersion(), 15); |
| 32 | |
| 33 | settings::MajorMinorVersion v4("3.14.5"); |
| 34 | EXPECT_EQ(v4.getMajorVersion(), 3); |
| 35 | EXPECT_EQ(v4.getMinorVersion(), 14); |
| 36 | |
| 37 | settings::MajorMinorVersion v5("11.0.0"); |
| 38 | EXPECT_EQ(v5.getMajorVersion(), 11); |
| 39 | EXPECT_EQ(v5.getMinorVersion(), 0); |
| 40 | |
| 41 | settings::MajorMinorVersion v6("11.0.1"); |
| 42 | EXPECT_EQ(v6.getMajorVersion(), 11); |
| 43 | EXPECT_EQ(v6.getMinorVersion(), 0); |
| 44 | |
| 45 | settings::MajorMinorVersion v7("11.100.1"); |
| 46 | EXPECT_EQ(v7.getMajorVersion(), 11); |
| 47 | EXPECT_EQ(v7.getMinorVersion(), 100); |
| 48 | |
| 49 | // Invalid expressions |
| 50 | EXPECT_THROW(settings::MajorMinorVersion("11.a100.1"), std::invalid_argument); |
| 51 | EXPECT_THROW(settings::MajorMinorVersion("11"), std::invalid_argument); |
| 52 | EXPECT_THROW(settings::MajorMinorVersion("11..6"), std::invalid_argument); |
| 53 | EXPECT_THROW(settings::MajorMinorVersion("11.a"), std::invalid_argument); |
| 54 | EXPECT_THROW(settings::MajorMinorVersion("x.y"), std::invalid_argument); |
| 55 | EXPECT_THROW(settings::MajorMinorVersion("2_3_7"), std::invalid_argument); |
| 56 | EXPECT_THROW(settings::MajorMinorVersion("10.8.9-"), std::invalid_argument); |
| 57 | } |
| 58 | |
| 59 | TEST(MajorMinorVersionTest, LessThanOperator) |
| 60 | { |
nothing calls this directly
no test coverage detected