Add a bunch of tests for Vector3
This commit is contained in:
parent
b631875246
commit
25e7ed2b21
1 changed files with 144 additions and 6 deletions
|
@ -10,11 +10,149 @@
|
|||
#include "basics.h"
|
||||
|
||||
|
||||
TEST(Vector3Test, OperatorAdd)
|
||||
class Vector3Test
|
||||
: public ::testing::Test
|
||||
{
|
||||
Vector3 v1(3, 2, 1), v2(4, 5, 6);
|
||||
Vector3 sum = v1 + v2;
|
||||
EXPECT_EQ(7, sum.x);
|
||||
EXPECT_EQ(7, sum.y);
|
||||
EXPECT_EQ(7, sum.z);
|
||||
public:
|
||||
virtual void SetUp();
|
||||
|
||||
protected:
|
||||
Vector3 v1, v2;
|
||||
};
|
||||
|
||||
|
||||
void
|
||||
Vector3Test::SetUp()
|
||||
{
|
||||
v1 = Vector3(1, 3, 5);
|
||||
v2 = Vector3(7, 13, 17);
|
||||
}
|
||||
|
||||
|
||||
TEST_F(Vector3Test, OperatorEq)
|
||||
{
|
||||
v1 = v2;
|
||||
EXPECT_EQ(v2, v1);
|
||||
}
|
||||
|
||||
|
||||
TEST_F(Vector3Test, OperatorMul)
|
||||
{
|
||||
Vector3 out;
|
||||
|
||||
out = v1 * 5;
|
||||
EXPECT_EQ(5, out.x);
|
||||
EXPECT_EQ(15, out.y);
|
||||
EXPECT_EQ(25, out.z);
|
||||
|
||||
out = v1 * -7;
|
||||
EXPECT_EQ(-7, out.x);
|
||||
EXPECT_EQ(-21, out.y);
|
||||
EXPECT_EQ(-35, out.z);
|
||||
|
||||
out = v1;
|
||||
out *= 5;
|
||||
EXPECT_EQ(5, out.x);
|
||||
EXPECT_EQ(15, out.y);
|
||||
EXPECT_EQ(25, out.z);
|
||||
|
||||
out = v1;
|
||||
out *= -7;
|
||||
EXPECT_EQ(-7, out.x);
|
||||
EXPECT_EQ(-21, out.y);
|
||||
EXPECT_EQ(-35, out.z);
|
||||
}
|
||||
|
||||
|
||||
// TODO: Test divison.
|
||||
#if 0
|
||||
TEST_F(Vector3Test, OperatorDiv)
|
||||
{
|
||||
Vector3 out;
|
||||
|
||||
out = v1 / 5.0;
|
||||
EXPECT_EQ(1.0/5.0, out.x);
|
||||
EXPECT_EQ(3.0/5.0, out.y);
|
||||
EXPECT_EQ(5.0/5.0, out.z);
|
||||
|
||||
out = v1 / -7.0;
|
||||
EXPECT_EQ(1.0/-7.0, out.x);
|
||||
EXPECT_EQ(3.0/-7.0, out.y);
|
||||
EXPECT_EQ(5.0/-7.0, out.z);
|
||||
|
||||
out = v1;
|
||||
out /= 5.0;
|
||||
EXPECT_EQ(1.0/5.0, out.x);
|
||||
EXPECT_EQ(3.0/5.0, out.y);
|
||||
EXPECT_EQ(5.0/5.0, out.z);
|
||||
|
||||
out = v1;
|
||||
out /= -7.0;
|
||||
EXPECT_EQ(1.0/-7.0, out.x);
|
||||
EXPECT_EQ(3.0/-7.0, out.y);
|
||||
EXPECT_EQ(5.0/-7.0, out.z);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
TEST_F(Vector3Test, OperatorAdd)
|
||||
{
|
||||
Vector3 out;
|
||||
|
||||
out = v1 + v2;
|
||||
EXPECT_EQ(8, out.x);
|
||||
EXPECT_EQ(16, out.y);
|
||||
EXPECT_EQ(22, out.z);
|
||||
|
||||
out = v1;
|
||||
out += v2;
|
||||
EXPECT_EQ(8, out.x);
|
||||
EXPECT_EQ(16, out.y);
|
||||
EXPECT_EQ(22, out.z);
|
||||
}
|
||||
|
||||
|
||||
TEST_F(Vector3Test, OperatorSub)
|
||||
{
|
||||
Vector3 out;
|
||||
|
||||
out = v1 - v2;
|
||||
EXPECT_EQ(-6, out.x);
|
||||
EXPECT_EQ(-10, out.y);
|
||||
EXPECT_EQ(-12, out.z);
|
||||
|
||||
v1 -= v2;
|
||||
EXPECT_EQ(-6, v1.x);
|
||||
EXPECT_EQ(-10, v1.y);
|
||||
EXPECT_EQ(-12, v1.z);
|
||||
}
|
||||
|
||||
|
||||
TEST_F(Vector3Test, OperatorBoolEq)
|
||||
{
|
||||
EXPECT_EQ(v1, v1);
|
||||
EXPECT_EQ(v2, v2);
|
||||
}
|
||||
|
||||
|
||||
TEST_F(Vector3Test, OperatorBoolNe)
|
||||
{
|
||||
EXPECT_NE(v1, v2);
|
||||
EXPECT_NE(v2, v1);
|
||||
}
|
||||
|
||||
|
||||
TEST_F(Vector3Test, Length2)
|
||||
{
|
||||
EXPECT_EQ(35.0, v1.length2());
|
||||
EXPECT_EQ(507.0, v2.length2());
|
||||
}
|
||||
|
||||
|
||||
// TODO: Test length()
|
||||
|
||||
|
||||
TEST_F(Vector3Test, DotProduct)
|
||||
{
|
||||
EXPECT_EQ(131.0, v1.dot(v2));
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue