From 72eaaeb60916e736de6c1aaa3d1047663bce19d9 Mon Sep 17 00:00:00 2001 From: Justin Worthe Date: Mon, 8 Jun 2015 21:21:08 +0200 Subject: Started adding test for reading game state --- test/game_state.cpp | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 test/game_state.cpp (limited to 'test') diff --git a/test/game_state.cpp b/test/game_state.cpp new file mode 100644 index 0000000..0887b05 --- /dev/null +++ b/test/game_state.cpp @@ -0,0 +1,59 @@ +#include "catch.hpp" +#include + +#include "game_state.h" + +SCENARIO("game state is read from istream") +{ + GIVEN("a valid map file") + { + std::stringstream file; + file << "###################" << std::endl; + file << "# Node Sample Bot #" << std::endl; + file << "# Round: 1 #" << std::endl; + file << "# Kills: 0 #" << std::endl; + file << "# Lives: 2 #" << std::endl; + file << "# Missiles: 0/1 #" << std::endl; + file << "###################" << std::endl; + file << "# #" << std::endl; + file << "# VVV #" << std::endl; + file << "# --- --- #" << std::endl; + file << "# --- --- #" << std::endl; + file << "# --- --- #" << std::endl; + file << "# #" << std::endl; + file << "# #" << std::endl; + file << "# #" << std::endl; + file << "# #" << std::endl; + file << "# #" << std::endl; + file << "# x x x #" << std::endl; + file << "# #" << std::endl; + file << "# x x x #" << std::endl; + file << "# #" << std::endl; + file << "# #" << std::endl; + file << "# #" << std::endl; + file << "# #" << std::endl; + file << "# #" << std::endl; + file << "# --- --- #" << std::endl; + file << "# --- --- #" << std::endl; + file << "# --- --- #" << std::endl; + file << "# AAA #" << std::endl; + file << "# #" << std::endl; + file << "###################" << std::endl; + file << "# Missiles: 0/1 #" << std::endl; + file << "# Lives: 2 #" << std::endl; + file << "# Kills: 0 #" << std::endl; + file << "# Round: 1 #" << std::endl; + file << "# Node Sample Bot #" << std::endl; + file << "###################" << std::endl; + + WHEN ("the game state is initilized") + { + GameState state(std::move(file)); + THEN("the map is read correctly") + { + auto aliens = state.aliens(); + REQUIRE(aliens.size() == 6); + } + } + } +} -- cgit v1.2.3