5 #include "gtest/gtest.h"
12 TEST(SizeTest, SizeIsEmpty) {
13 auto nan = std::numeric_limits<Scalar>::quiet_NaN();
16 EXPECT_FALSE(
Size(10.5, 7.2).IsEmpty());
19 EXPECT_TRUE(
Size(0.0, 0.0).IsEmpty());
20 EXPECT_TRUE(
Size(-1.0, -1.0).IsEmpty());
21 EXPECT_TRUE(
Size(-1.0, 0.0).IsEmpty());
22 EXPECT_TRUE(
Size(0.0, -1.0).IsEmpty());
25 EXPECT_TRUE(
Size(10.5, 0.0).IsEmpty());
26 EXPECT_TRUE(
Size(10.5, -1.0).IsEmpty());
27 EXPECT_TRUE(
Size(0.0, 7.2).IsEmpty());
28 EXPECT_TRUE(
Size(-1.0, 7.2).IsEmpty());
31 EXPECT_TRUE(
Size(10.5, nan).IsEmpty());
32 EXPECT_TRUE(
Size(nan, 7.2).IsEmpty());
33 EXPECT_TRUE(
Size(nan, nan).IsEmpty());
36 TEST(SizeTest, ISizeIsEmpty) {
38 EXPECT_FALSE(
ISize(10, 7).IsEmpty());
41 EXPECT_TRUE(
ISize(0, 0).IsEmpty());
42 EXPECT_TRUE(
ISize(-1, -1).IsEmpty());
43 EXPECT_TRUE(
ISize(-1, 0).IsEmpty());
44 EXPECT_TRUE(
ISize(0, -1).IsEmpty());
47 EXPECT_TRUE(
ISize(10, 0).IsEmpty());
48 EXPECT_TRUE(
ISize(10, -1).IsEmpty());
49 EXPECT_TRUE(
ISize(0, 7).IsEmpty());
50 EXPECT_TRUE(
ISize(-1, 7).IsEmpty());
54 EXPECT_TRUE(
Size(20, 20).IsSquare());
55 EXPECT_FALSE(
Size(20, 19).IsSquare());
56 EXPECT_FALSE(
Size(19, 20).IsSquare());
58 EXPECT_TRUE(
ISize(20, 20).IsSquare());
59 EXPECT_FALSE(
ISize(20, 19).IsSquare());
60 EXPECT_FALSE(
ISize(19, 20).IsSquare());
63 TEST(SizeTest, MaxDimension) {
64 EXPECT_EQ(
Size(20, 20).MaxDimension(), 20);
65 EXPECT_EQ(
Size(20, 19).MaxDimension(), 20);
66 EXPECT_EQ(
Size(19, 20).MaxDimension(), 20);
67 EXPECT_EQ(
Size(20, 21).MaxDimension(), 21);
68 EXPECT_EQ(
Size(21, 20).MaxDimension(), 21);
70 EXPECT_EQ(
ISize(20, 20).MaxDimension(), 20);
71 EXPECT_EQ(
ISize(20, 19).MaxDimension(), 20);
72 EXPECT_EQ(
ISize(19, 20).MaxDimension(), 20);
73 EXPECT_EQ(
ISize(20, 21).MaxDimension(), 21);
74 EXPECT_EQ(
ISize(21, 20).MaxDimension(), 21);
77 TEST(SizeTest, NegationOperator) {
78 EXPECT_EQ(-
Size(10, 20),
Size(-10, -20));
79 EXPECT_EQ(-
Size(-10, 20),
Size(10, -20));
80 EXPECT_EQ(-
Size(10, -20),
Size(-10, 20));
81 EXPECT_EQ(-
Size(-10, -20),
Size(10, 20));
TEST(AllocationSizeTest, CanCreateTypedAllocations)