NerfUS game coordinator for the Nerf gun firing range
Dependencies: HardwareInterface mbed-rtos mbed
Fork of NerfUS by
Diff: TESTS/GameCoordinatorTest.cpp
- Revision:
- 16:5e6c695468b6
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TESTS/GameCoordinatorTest.cpp Thu Feb 23 21:22:57 2017 -0500 @@ -0,0 +1,37 @@ +#include "gmock/gmock.h" +#include "gtest/gtest.h" + +#include "GameCoordinator.hpp" +#include "MockRandomNumberGenerator.hpp" + +TEST(GameCoordinatorTest, GenerateRandomTargetCourse) +{ + MockRandomNumberGenerator mock_random_number_generator; + EXPECT_CALL(mock_random_number_generator, get(0, 4)) + .Times(5) + .WillOnce(::testing::Return(1)) + .WillOnce(::testing::Return(5)) + .WillOnce(::testing::Return(2)) + .WillOnce(::testing::Return(3)) + .WillOnce(::testing::Return(1)); + EXPECT_CALL(mock_random_number_generator, get(0, 1)) + .Times(5) + .WillOnce(::testing::Return(0)) + .WillOnce(::testing::Return(1)) + .WillOnce(::testing::Return(1)) + .WillOnce(::testing::Return(0)) + .WillOnce(::testing::Return(1)); + + std::vector<TargetInfo> expected_targets; + expected_targets.push_back(make_TargetInfo(1, TARGET_TYPE_ALLY, 42)); + expected_targets.push_back(make_TargetInfo(5, TARGET_TYPE_ENEMY, 42)); + expected_targets.push_back(make_TargetInfo(2, TARGET_TYPE_ENEMY, 42)); + expected_targets.push_back(make_TargetInfo(3, TARGET_TYPE_ALLY, 42)); + expected_targets.push_back(make_TargetInfo(1, TARGET_TYPE_ENEMY, 42)); + + GameCoordinator game_coordinator(mock_random_number_generator); + const std::vector<TargetInfo> actual_targets = game_coordinator.generate_random_target_course(5, 42); + + EXPECT_THAT(expected_targets, ::testing::ContainerEq(actual_targets)); +} +