29 lines
663 B
C++
29 lines
663 B
C++
#if GTEST
|
|
#include <gtest/gtest.h>
|
|
#include <limits>
|
|
#include <math.h>
|
|
|
|
#include "Polar.h"
|
|
|
|
#define FLOAT_INFINITY std::numeric_limits<float>::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 |