OSDN Git Service

Reduce compilation time (2)
[winmerge-jp/winmerge-jp.git] / Testing / GoogleTest / OptionsMgr / VariantValue_test.cpp
1 #include "pch.h"\r
2 #include <gtest/gtest.h>\r
3 #include <windows.h>\r
4 #include <tchar.h>\r
5 #include "varprop.h"\r
6 \r
7 // NOTE:\r
8 // Use namespace varprop:: with type names as there are conflicting values in VT_*\r
9 \r
10 namespace\r
11 {\r
12         // The fixture for testing command line parsing.\r
13         class VariantValueTest : public testing::Test\r
14         {\r
15         protected:\r
16                 // You can remove any or all of the following functions if its body\r
17                 // is   empty.\r
18 \r
19                 VariantValueTest()\r
20                 {\r
21                         // You can do set-up work for each test here.\r
22                 }\r
23 \r
24                 virtual ~VariantValueTest()\r
25                 {\r
26                         // You can do clean-up work     that doesn't throw exceptions here.\r
27                 }\r
28 \r
29                 // If   the     constructor     and     destructor are not enough for setting up\r
30                 // and cleaning up each test, you can define the following methods:\r
31 \r
32                 virtual void SetUp()\r
33                 {\r
34                         // Code here will be called     immediately     after the constructor (right\r
35                         // before each test).\r
36                 }\r
37 \r
38                 virtual void TearDown()\r
39                 {\r
40                         // Code here will be called     immediately     after each test (right\r
41                         // before the destructor).\r
42                 }\r
43 \r
44                 // Objects declared here can be used by all tests in the test case for Foo.\r
45         };\r
46 \r
47         // Initialize without type\r
48         TEST_F(VariantValueTest, Create1)\r
49         {\r
50                 varprop::VariantValue val;\r
51                 EXPECT_EQ(varprop::VT_NULL, val.GetType());\r
52                 EXPECT_FALSE(val.IsBool());\r
53                 EXPECT_FALSE(val.IsFloat());\r
54                 EXPECT_FALSE(val.IsInt());\r
55                 EXPECT_FALSE(val.IsString());\r
56                 EXPECT_FALSE(val.IsTime());\r
57         }\r
58 \r
59         // Set and read boolean value\r
60         TEST_F(VariantValueTest, SetBool1)\r
61         {\r
62                 varprop::VariantValue val;\r
63                 val.SetBool(false);\r
64                 EXPECT_TRUE(val.IsBool());\r
65                 EXPECT_FALSE(val.GetBool());\r
66         }\r
67 \r
68         // Set and read boolean value\r
69         TEST_F(VariantValueTest, SetBool2)\r
70         {\r
71                 varprop::VariantValue val;\r
72                 val.SetBool(true);\r
73                 EXPECT_TRUE(val.IsBool());\r
74                 EXPECT_TRUE(val.GetBool());\r
75         }\r
76 \r
77         // Set and read integer value\r
78         TEST_F(VariantValueTest, SetInt1)\r
79         {\r
80                 varprop::VariantValue val;\r
81                 val.SetInt(0);\r
82                 EXPECT_TRUE(val.IsInt());\r
83                 EXPECT_EQ(0, val.GetInt());\r
84         }\r
85 \r
86         // Set and read integer value\r
87         TEST_F(VariantValueTest, SetInt2)\r
88         {\r
89                 varprop::VariantValue val;\r
90                 val.SetInt(-5);\r
91                 EXPECT_TRUE(val.IsInt());\r
92                 EXPECT_EQ(-5, val.GetInt());\r
93         }\r
94 \r
95         // Set and read integer value\r
96         TEST_F(VariantValueTest, SetInt3)\r
97         {\r
98                 varprop::VariantValue val;\r
99                 val.SetInt(15);\r
100                 EXPECT_TRUE(val.IsInt());\r
101                 EXPECT_EQ(15, val.GetInt());\r
102         }\r
103 \r
104         // Set and read float value\r
105         TEST_F(VariantValueTest, SetFloat1)\r
106         {\r
107                 varprop::VariantValue val;\r
108                 val.SetFloat(0.0);\r
109                 EXPECT_TRUE(val.IsFloat());\r
110                 EXPECT_EQ(0.0, val.GetFloat());\r
111         }\r
112 \r
113         // Set and read float value\r
114         TEST_F(VariantValueTest, SetFloat2)\r
115         {\r
116                 varprop::VariantValue val;\r
117                 val.SetFloat(-3.5);\r
118                 EXPECT_TRUE(val.IsFloat());\r
119                 EXPECT_EQ(-3.5, val.GetFloat());\r
120         }\r
121 \r
122         // Set and read float value\r
123         TEST_F(VariantValueTest, SetFloat3)\r
124         {\r
125                 varprop::VariantValue val;\r
126                 val.SetFloat(7.2);\r
127                 EXPECT_TRUE(val.IsFloat());\r
128                 EXPECT_EQ(7.2, val.GetFloat());\r
129         }\r
130 \r
131         // Set and read String value\r
132         TEST_F(VariantValueTest, SetString1)\r
133         {\r
134                 varprop::VariantValue val;\r
135                 val.SetString(_T(""));\r
136                 EXPECT_TRUE(val.IsString());\r
137                 EXPECT_EQ(_T(""), val.GetString());\r
138         }\r
139 \r
140         // Set and read String value\r
141         TEST_F(VariantValueTest, SetString2)\r
142         {\r
143                 varprop::VariantValue val;\r
144                 val.SetString(_T("Boo"));\r
145                 EXPECT_TRUE(val.IsString());\r
146                 EXPECT_EQ(_T("Boo"), val.GetString());\r
147         }\r
148 \r
149         // Set and read time value\r
150         TEST_F(VariantValueTest, SetTime1)\r
151         {\r
152                 varprop::VariantValue val;\r
153                 val.SetTime(0);\r
154                 EXPECT_TRUE(val.IsTime());\r
155                 EXPECT_EQ(0, val.GetTime());\r
156         }\r
157 \r
158         // Set and read time value\r
159         TEST_F(VariantValueTest, SetTime2)\r
160         {\r
161                 varprop::VariantValue val;\r
162                 val.SetTime(382);\r
163                 EXPECT_TRUE(val.IsTime());\r
164                 EXPECT_EQ(382, val.GetTime());\r
165         }\r
166 \r
167         // Set and clear value\r
168         TEST_F(VariantValueTest, Clear1)\r
169         {\r
170                 varprop::VariantValue val;\r
171                 val.SetInt(382);\r
172                 EXPECT_TRUE(val.IsInt());\r
173                 EXPECT_EQ(382, val.GetInt());\r
174                 val.Clear();\r
175                 EXPECT_EQ(varprop::VT_NULL, val.GetType());\r
176                 EXPECT_FALSE(val.IsBool());\r
177                 EXPECT_FALSE(val.IsFloat());\r
178                 EXPECT_FALSE(val.IsInt());\r
179                 EXPECT_FALSE(val.IsString());\r
180                 EXPECT_FALSE(val.IsTime());\r
181         }\r
182 }\r