#if GTEST #include #include #include #include "Polar.h" #define FLOAT_INFINITY std::numeric_limits::infinity() TEST(Polar, FromVector2) { Vector2 v = Vector2(0, 1); Polar p = Polar(v); EXPECT_FLOAT_EQ(p.distance, 1.0F) << "p.distance 0 1"; EXPECT_FLOAT_EQ(p.angle, 0.0F) << "s.angle 0 0 1"; v = Vector2(1, 0); p = Polar(v); EXPECT_FLOAT_EQ(p.distance, 1.0F) << "p.distance 1 0"; EXPECT_FLOAT_EQ(p.angle, 90.0F) << "s.angle 1 0"; v = Vector2(-1, 1); p = Polar(v); EXPECT_FLOAT_EQ(p.distance, sqrt(2.0F)) << "p.distance -1 1"; EXPECT_NEAR(p.angle, -45.0F, 1.0e-05) << "s.angle -1 1"; } #endif