From 7c8aac19374013e7366b5afbf5d85fe151de3669 Mon Sep 17 00:00:00 2001 From: Aki Date: Sun, 5 Feb 2023 01:18:18 +0100 Subject: Added simple test for HitPoints This should have been added earlier. The test itself is questionable and overall very optimistic about the edge cases. The intent of this commit is purely set up of the testing framework. --- sim/tests/HitPoints.cpp | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 sim/tests/HitPoints.cpp (limited to 'sim/tests') diff --git a/sim/tests/HitPoints.cpp b/sim/tests/HitPoints.cpp new file mode 100644 index 0000000..8b8ef84 --- /dev/null +++ b/sim/tests/HitPoints.cpp @@ -0,0 +1,44 @@ +#include + +#include +#include + + +namespace kurator +{ +namespace tests +{ + + +const universe::ShipType SHIP_TYPE { + "", + 100.0, + 100.0, + 100.0, + 0.0, + 0.5, + 0.2, + 0.5, +}; + + + +TEST(HitPoints, Deal) +{ + sim::HitPoints points {SHIP_TYPE}; + EXPECT_TRUE(points.is_alive()); + EXPECT_DOUBLE_EQ(300.0, points.total()); + EXPECT_DOUBLE_EQ(50.0, points.deal(100.0)); + EXPECT_DOUBLE_EQ(250.0, points.total()); + EXPECT_DOUBLE_EQ(50.0, points.deal(100.0)); + EXPECT_DOUBLE_EQ(200.0, points.total()); + EXPECT_DOUBLE_EQ(100.0, points.deal(125.0)); + EXPECT_DOUBLE_EQ(100.0, points.total()); + EXPECT_DOUBLE_EQ(100.0, points.deal(200.0)); + EXPECT_DOUBLE_EQ(0.0, points.total()); + EXPECT_FALSE(points.is_alive()); +} + + +} // namespace tests +} // namespace kurator -- cgit v1.1