From 6c1bd11811e7117ba8e6e87255e522f17f87a002 Mon Sep 17 00:00:00 2001 From: fallenoak Date: Thu, 26 Nov 2020 10:28:41 -0600 Subject: [PATCH] chore(vector): add additional tests for C3Vector --- test/Vector.cpp | 66 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 test/Vector.cpp diff --git a/test/Vector.cpp b/test/Vector.cpp new file mode 100644 index 0000000..341c4b6 --- /dev/null +++ b/test/Vector.cpp @@ -0,0 +1,66 @@ +#include "tempest/Vector.hpp" +#include "test/Test.hpp" + +TEST_CASE("C3Vector", "[vector]") { + SECTION("constructs with default constructor") { + C3Vector vector; + REQUIRE(vector.x == 0.0f); + REQUIRE(vector.y == 0.0f); + REQUIRE(vector.z == 0.0f); + } + + SECTION("constructs with xyz constructor") { + auto vector = C3Vector(1.0f, 2.0f, 3.0f); + REQUIRE(vector.x == 1.0f); + REQUIRE(vector.y == 2.0f); + REQUIRE(vector.z == 3.0f); + } +} + +TEST_CASE("C3Vector::operator*=", "[vector]") { + SECTION("multiplies by 2.0f") { + auto vector = C3Vector(1.0f, 2.0f, 3.0f); + vector *= 2.0f; + REQUIRE(vector.x == 2.0f); + REQUIRE(vector.y == 4.0f); + REQUIRE(vector.z == 6.0f); + } + + SECTION("multiplies by -2.0f") { + auto vector = C3Vector(1.0f, 2.0f, 3.0f); + vector *= -2.0f; + REQUIRE(vector.x == -2.0f); + REQUIRE(vector.y == -4.0f); + REQUIRE(vector.z == -6.0f); + } + + SECTION("multiplies by 0.0f") { + auto vector = C3Vector(1.0f, 2.0f, 3.0f); + vector *= 0.0f; + REQUIRE(vector.x == 0.0f); + REQUIRE(vector.y == 0.0f); + REQUIRE(vector.z == 0.0f); + } +} + +TEST_CASE("C3Vector::SquaredMag", "[vector]") { + SECTION("calculates squared mag") { + auto vector = C3Vector(1.0f, 2.0f, 3.0f); + REQUIRE(vector.SquaredMag() == 14.0f); + } + + SECTION("calculates squared mag of C3Vector(0.0f, 0.0f, 0.0f)") { + auto vector = C3Vector(0.0f, 0.0f, 0.0f); + REQUIRE(vector.SquaredMag() == 0.0f); + } + + SECTION("calculates squared mag of C3Vector(1.0f, 1.0f, 1.0f)") { + auto vector = C3Vector(1.0f, 1.0f, 1.0f); + REQUIRE(vector.SquaredMag() == 3.0f); + } + + SECTION("calculates squared mag of C3Vector(-1.0f, -1.0f, -1.0f)") { + auto vector = C3Vector(-1.0f, -1.0f, -1.0f); + REQUIRE(vector.SquaredMag() == 3.0f); + } +}