Implement Vector2Tests
This commit is contained in:
@@ -1,25 +1,103 @@
|
||||
#include <gtest/gtest.h>
|
||||
#include <J3ML/LinearAlgebra/Vector2.h>
|
||||
|
||||
using Vector2 = LinearAlgebra::Vector2;
|
||||
|
||||
TEST(Vector2Test, V2_Constructor_Default)
|
||||
{
|
||||
EXPECT_EQ(LinearAlgebra::Vector2(), LinearAlgebra::Vector2::Up);
|
||||
EXPECT_EQ(Vector2(), Vector2::Zero);
|
||||
}
|
||||
|
||||
/*
|
||||
TEST(Vector2Test, V2_Addition) { }
|
||||
TEST(Vector2Test, V2_Subtraction) { }
|
||||
TEST(Vector2Test, V2_Multiplication) { }
|
||||
TEST(Vector2Test, V2_Division) { }
|
||||
TEST(Vector2Test, V2_Equality) { }
|
||||
TEST(Vector2Test, V2_Array_Operator_Indexing) { }
|
||||
TEST(Vector2Test, V2_Normalize) { }
|
||||
TEST(Vector2Test, V2_Dot) { }
|
||||
TEST(Vector2Test, V2_Min) { }
|
||||
TEST(Vector2Test, V2_Max) { }
|
||||
TEST(Vector2Test, V2_Distance) { }
|
||||
TEST(Vector2Test, V2_Length) { }
|
||||
TEST(Vector2Test, V2_Clamp) { }
|
||||
TEST(Vector2Test, V2_Constructor_XY)
|
||||
{
|
||||
Vector2 vec {1, 0};
|
||||
EXPECT_EQ(vec, Vector2::Right);
|
||||
}
|
||||
|
||||
*/
|
||||
TEST(Vector2Test, V2_Addition_Op)
|
||||
{
|
||||
Vector2 A {1,1};
|
||||
Vector2 B {2,2};
|
||||
|
||||
Vector2 C {3, 3};
|
||||
|
||||
EXPECT_EQ(A+B, C);
|
||||
}
|
||||
|
||||
TEST(Vector2Test, V2_Subtraction_Op)
|
||||
{
|
||||
Vector2 A {1,1};
|
||||
Vector2 B {2,2};
|
||||
|
||||
Vector2 C {-1, -1};
|
||||
|
||||
EXPECT_EQ(A-B, C);
|
||||
}
|
||||
|
||||
TEST(Vector2Test, V2_Scalar_Multiplication)
|
||||
{
|
||||
Vector2 A {5, 1};
|
||||
float B = 0.5f;
|
||||
Vector2 C = {2.5f, .5f};
|
||||
EXPECT_EQ(A*B, C);
|
||||
}
|
||||
|
||||
TEST(Vector2Test, V2_Size)
|
||||
{
|
||||
EXPECT_EQ(sizeof(Vector2), 8);
|
||||
}
|
||||
|
||||
TEST(Vector2Test, V2_NaN)
|
||||
{
|
||||
|
||||
EXPECT_NE(Vector2::Zero, Vector2::NaN);
|
||||
EXPECT_NE(Vector2::Up, Vector2::NaN);
|
||||
EXPECT_NE(Vector2::Left, Vector2::NaN);
|
||||
EXPECT_NE(Vector2::Down, Vector2::NaN);
|
||||
EXPECT_NE(Vector2::Right, Vector2::NaN);
|
||||
EXPECT_NE(Vector2::NaN, Vector2::NaN);
|
||||
}
|
||||
|
||||
TEST(Vector2Test, V2_MarginOfError)
|
||||
{
|
||||
Vector2 A {2,2};
|
||||
Vector2 B {1.85, 1.85};
|
||||
|
||||
EXPECT_TRUE(A.IsWithinMarginOfError(B, 0.5f));
|
||||
}
|
||||
|
||||
TEST(Vector2Test, V2_Min)
|
||||
{
|
||||
Vector2 A {2,2};
|
||||
Vector2 B {1.85, 1.85};
|
||||
|
||||
EXPECT_EQ( Vector2::Min(A, B), B);
|
||||
}
|
||||
|
||||
TEST(Vector2Test, V2_Max)
|
||||
{
|
||||
Vector2 A {2,2};
|
||||
Vector2 B {1.85, 1.85};
|
||||
|
||||
EXPECT_EQ( Vector2::Max(A, B), A);
|
||||
}
|
||||
|
||||
TEST(Vector2Test, V2_Clamp)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
TEST(Vector2Test, V2_DotProduct)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
TEST(Vector2Test, V2_Project)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
TEST(Vector2Test, V2_Normalize)
|
||||
{
|
||||
|
||||
}
|
Reference in New Issue
Block a user