#if GTEST #include #include #include #include "Angle16.h" #include "Angle8.h" #define FLOAT_INFINITY std::numeric_limits::infinity() TEST(Angle8, Construct) { float angle = 0.0F; Angle8 a = Angle8(angle); EXPECT_FLOAT_EQ(a.ToFloat(), angle); angle = -180.0F; a = Angle8(angle); EXPECT_FLOAT_EQ(a.ToFloat(), angle); } TEST(Angle8, Negate) { float angle = 0; Angle8 a = Angle8(angle); a = -a; EXPECT_FLOAT_EQ(a.ToFloat(), angle); angle = 90.0F; a = Angle8(angle); a = -a; EXPECT_FLOAT_EQ(a.ToFloat(), -angle); } TEST(Angle8, Add) { Angle8 a = Angle8(-45); Angle8 b = Angle8(45.0F); Angle8 r = a + b; EXPECT_FLOAT_EQ(r.ToFloat(), 0); } TEST(Angle8, Subtract) { Angle8 a = Angle8(0); Angle8 b = Angle8(45.0F); Angle8 r = a - b; EXPECT_FLOAT_EQ(r.ToFloat(), -45); } TEST(Angle16, Construct) { Angle16 a = Angle16(0.0F); EXPECT_FLOAT_EQ(a.ToFloat(), 0); } TEST(Angle16, Negate) { float angle = 0; Angle16 a = Angle16(angle); a = -a; EXPECT_FLOAT_EQ(a.ToFloat(), angle); angle = 90.0F; a = Angle16(angle); a = -a; EXPECT_FLOAT_EQ(a.ToFloat(), -angle); } TEST(Angle16, Subtract) { Angle16 a = Angle16(0); Angle16 b = Angle16(45.0F); Angle16 r = a - b; EXPECT_FLOAT_EQ(r.ToFloat(), -45); } TEST(Angle16, Add) { Angle16 a = Angle16(-45); Angle16 b = Angle16(45.0F); Angle16 r = a + b; EXPECT_FLOAT_EQ(r.ToFloat(), 0); } #endif