1 // LAF Base Library
2 // Copyright (c) 2001-2016 David Capello
3 //
4 // This file is released under the terms of the MIT license.
5 // Read LICENSE.txt for more information.
6
7 #include <gtest/gtest.h>
8
9 #include "base/version.h"
10 #include "base/convert_to.h"
11
12 using namespace base;
13
14 namespace base {
15
operator <<(std::ostream & os,const Version & ver)16 std::ostream& operator<<(std::ostream& os, const Version& ver) {
17 return os << ver.str();
18 }
19
20 }
21
TEST(Version,Ctor)22 TEST(Version, Ctor)
23 {
24 EXPECT_EQ("1", Version("1").str());
25 EXPECT_EQ("1.2", Version("1.2").str());
26 EXPECT_EQ("1.2-rc3", Version("1.2-rc3").str());
27 EXPECT_EQ("1.2-beta3", Version("1.2-beta3").str());
28 EXPECT_EQ("1.2-beta", Version("1.2-beta").str());
29 EXPECT_EQ("1.2-beta", Version("1.2-beta0").str());
30 }
31
TEST(Version,LessThan)32 TEST(Version, LessThan)
33 {
34 EXPECT_TRUE(Version("0") < Version("1"));
35 EXPECT_TRUE(Version("1.2") < Version("1.3"));
36 EXPECT_TRUE(Version("1.2.3") < Version("1.2.4"));
37 EXPECT_TRUE(Version("1.2.0.4") < Version("1.2.3"));
38 EXPECT_TRUE(Version("1.3-dev") < Version("1.3"));
39 EXPECT_TRUE(Version("1.3-dev") < Version("1.4"));
40 EXPECT_TRUE(Version("1.1-beta") < Version("1.1-beta1"));
41 EXPECT_TRUE(Version("1.1-beta1") < Version("1.1-beta2"));
42 EXPECT_TRUE(Version("1.1-beta2") < Version("1.1-rc1"));
43
44 EXPECT_FALSE(Version("1") < Version("0"));
45 EXPECT_FALSE(Version("1.3") < Version("1.2"));
46 EXPECT_FALSE(Version("1.2.4") < Version("1.2.3"));
47 EXPECT_FALSE(Version("1.2.3") < Version("1.2.0.4"));
48 EXPECT_FALSE(Version("1.3") < Version("1.3-dev"));
49 EXPECT_FALSE(Version("1.4") < Version("1.3-dev"));
50 EXPECT_FALSE(Version("1.1-beta1") < Version("1.1-beta"));
51 EXPECT_FALSE(Version("1.1-beta2") < Version("1.1-beta1"));
52 EXPECT_FALSE(Version("1.1-rc1") < Version("1.1-beta2"));
53 }
54
main(int argc,char ** argv)55 int main(int argc, char** argv)
56 {
57 ::testing::InitGoogleTest(&argc, argv);
58 return RUN_ALL_TESTS();
59 }
60