1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "ui/gfx/geometry/insets.h"
6
7 #include "testing/gtest/include/gtest/gtest.h"
8
TEST(InsetsTest,InsetsDefault)9 TEST(InsetsTest, InsetsDefault) {
10 gfx::Insets insets;
11 EXPECT_EQ(0, insets.top());
12 EXPECT_EQ(0, insets.left());
13 EXPECT_EQ(0, insets.bottom());
14 EXPECT_EQ(0, insets.right());
15 EXPECT_EQ(0, insets.width());
16 EXPECT_EQ(0, insets.height());
17 EXPECT_TRUE(insets.empty());
18 }
19
TEST(InsetsTest,Insets)20 TEST(InsetsTest, Insets) {
21 gfx::Insets insets(1, 2, 3, 4);
22 EXPECT_EQ(1, insets.top());
23 EXPECT_EQ(2, insets.left());
24 EXPECT_EQ(3, insets.bottom());
25 EXPECT_EQ(4, insets.right());
26 EXPECT_EQ(6, insets.width()); // Left + right.
27 EXPECT_EQ(4, insets.height()); // Top + bottom.
28 EXPECT_FALSE(insets.empty());
29 }
30
TEST(InsetsTest,Set)31 TEST(InsetsTest, Set) {
32 gfx::Insets insets;
33 insets.Set(1, 2, 3, 4);
34 EXPECT_EQ(1, insets.top());
35 EXPECT_EQ(2, insets.left());
36 EXPECT_EQ(3, insets.bottom());
37 EXPECT_EQ(4, insets.right());
38 }
39
TEST(InsetsTest,Add)40 TEST(InsetsTest, Add) {
41 gfx::Insets insets;
42 insets.Set(1, 2, 3, 4);
43 insets += gfx::Insets(5, 6, 7, 8);
44 EXPECT_EQ(6, insets.top());
45 EXPECT_EQ(8, insets.left());
46 EXPECT_EQ(10, insets.bottom());
47 EXPECT_EQ(12, insets.right());
48 }
49
TEST(InsetsTest,Equality)50 TEST(InsetsTest, Equality) {
51 gfx::Insets insets1;
52 insets1.Set(1, 2, 3, 4);
53 gfx::Insets insets2;
54 // Test operator== and operator!=.
55 EXPECT_FALSE(insets1 == insets2);
56 EXPECT_TRUE(insets1 != insets2);
57
58 insets2.Set(1, 2, 3, 4);
59 EXPECT_TRUE(insets1 == insets2);
60 EXPECT_FALSE(insets1 != insets2);
61 }
62
TEST(InsetsTest,ToString)63 TEST(InsetsTest, ToString) {
64 gfx::Insets insets(1, 2, 3, 4);
65 EXPECT_EQ("1,2,3,4", insets.ToString());
66 }
67