• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2025 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 #include <gtest/gtest.h>
16 
17 #include <meta/base/version.h>
18 
19 #include "TestRunner.h"
20 
21 using namespace testing::ext;
22 
23 META_BEGIN_NAMESPACE()
24 
25 class VersionTest : public testing::Test {
26 public:
SetUpTestSuite()27     static void SetUpTestSuite()
28     {
29         SetTest();
30     }
TearDownTestSuite()31     static void TearDownTestSuite()
32     {
33         TearDownTest();
34     }
SetUp()35     void SetUp() {}
TearDown()36     void TearDown() {}
37 };
38 
39 HWTEST_F(VersionTest, Compare, TestSize.Level1)
40 {
41     Version a;
42     Version b(1, 0);
43     Version c(1, 1);
44     Version d(0, 9999);
45     Version e(1, 9999);
46     Version f(2366, 0);
47 
48     EXPECT_TRUE(a == a);
49     EXPECT_TRUE(b == b);
50     EXPECT_TRUE(a != b);
51 
52     EXPECT_TRUE(a < b);
53     EXPECT_TRUE(b < c);
54     EXPECT_TRUE(d < b);
55     EXPECT_TRUE(e < f);
56 
57     EXPECT_FALSE(b > b);
58     EXPECT_FALSE(b > c);
59     EXPECT_FALSE(d > b);
60     EXPECT_FALSE(e > f);
61 
62     EXPECT_TRUE(a <= a);
63     EXPECT_TRUE(b <= b);
64     EXPECT_TRUE(a <= b);
65     EXPECT_TRUE(b <= c);
66     EXPECT_TRUE(d <= b);
67     EXPECT_TRUE(e <= f);
68 
69     EXPECT_TRUE(a >= a);
70     EXPECT_TRUE(b >= b);
71     EXPECT_FALSE(a >= b);
72     EXPECT_FALSE(b >= c);
73     EXPECT_FALSE(d >= b);
74     EXPECT_FALSE(e >= f);
75 }
76 
TestFromToVersion(Version v)77 void TestFromToVersion(Version v)
78 {
79     Version other(v.ToString());
80     EXPECT_EQ(v, other);
81 }
82 
83 HWTEST_F(VersionTest, ToString, TestSize.Level1)
84 {
85     TestFromToVersion(Version());
86     TestFromToVersion(Version(1, 0));
87     TestFromToVersion(Version(1, 1));
88     TestFromToVersion(Version(1, 9999));
89     TestFromToVersion(Version(9999, 0));
90     TestFromToVersion(Version(123, 2));
91 }
92 
93 HWTEST_F(VersionTest, FromString, TestSize.Level1)
94 {
95     EXPECT_EQ(Version("1"), Version(1, 0));
96     EXPECT_EQ(Version("1125"), Version(1125, 0));
97     EXPECT_EQ(Version("1."), Version(1, 0));
98     EXPECT_EQ(Version("1.df"), Version(1, 0));
99 }
100 
101 HWTEST_F(VersionTest, InvalidString, TestSize.Level1)
102 {
103     EXPECT_EQ(Version(""), Version());
104     EXPECT_EQ(Version(".1"), Version());
105     EXPECT_EQ(Version(".."), Version());
106     EXPECT_EQ(Version("asdb"), Version());
107     EXPECT_EQ(Version("-1.24"), Version());
108 }
109 
110 META_END_NAMESPACE()
111