Additional testing, entity deletion, and player disconnection
This commit is contained in:
@ -1,6 +1,7 @@
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include <string>
|
||||
#include <iostream>
|
||||
|
||||
#include "gameentity.hpp"
|
||||
#include "gamemap.hpp"
|
||||
@ -61,6 +62,87 @@ TEST(GameMapTest, CheckMapSize)
|
||||
EXPECT_EQ(map.get_size_x(), 16);
|
||||
EXPECT_EQ(map.get_size_y(), 4);
|
||||
}
|
||||
TEST(GameMapTest, CreateEntity)
|
||||
{
|
||||
GameMap map = CreateMapEntity();
|
||||
map.spawn_entity(TEST_ENTITY_ID, TEST_ENTITY_TYPE);
|
||||
|
||||
EXPECT_TRUE(map.entity_exists(TEST_ENTITY_ID, TEST_ENTITY_TYPE));
|
||||
}
|
||||
TEST(GameMapTest, IntialEntityPos)
|
||||
{
|
||||
GameMap map = CreateMapEntity();
|
||||
map.spawn_entity(TEST_ENTITY_ID, TEST_ENTITY_TYPE, 0,0);
|
||||
|
||||
EXPECT_EQ(map.get_entity_pos_x(TEST_ENTITY_ID, TEST_ENTITY_TYPE), 0);
|
||||
EXPECT_EQ(map.get_entity_pos_y(TEST_ENTITY_ID, TEST_ENTITY_TYPE), 0);
|
||||
}
|
||||
TEST(GameMapTest, MoveEntityFromZero)
|
||||
{
|
||||
GameMap map = CreateMapEntity();
|
||||
map.spawn_entity(TEST_ENTITY_ID, TEST_ENTITY_TYPE, 0,0);
|
||||
|
||||
//Move entity
|
||||
map.move_entity(TEST_ENTITY_ID, TEST_ENTITY_TYPE, 2, 1);
|
||||
|
||||
EXPECT_EQ(map.get_entity_pos_x(TEST_ENTITY_ID, TEST_ENTITY_TYPE), 2);
|
||||
EXPECT_EQ(map.get_entity_pos_y(TEST_ENTITY_ID, TEST_ENTITY_TYPE), 1);
|
||||
}
|
||||
TEST(GameMapTest, MoveEntityRelative)
|
||||
{
|
||||
|
||||
GameMap map = CreateMapEntity();
|
||||
map.spawn_entity(TEST_ENTITY_ID, TEST_ENTITY_TYPE, 0,0);
|
||||
|
||||
//Move entity
|
||||
map.move_entity(TEST_ENTITY_ID, TEST_ENTITY_TYPE, 2, 1);
|
||||
|
||||
//Move entity again!
|
||||
map.move_entity(TEST_ENTITY_ID, TEST_ENTITY_TYPE, 1, 1);
|
||||
|
||||
EXPECT_EQ(map.get_entity_pos_x(TEST_ENTITY_ID, TEST_ENTITY_TYPE), 3);
|
||||
EXPECT_EQ(map.get_entity_pos_y(TEST_ENTITY_ID, TEST_ENTITY_TYPE), 2);
|
||||
}
|
||||
TEST(GameMapTest, MoveEntityNegativeFromZero)
|
||||
{
|
||||
GameMap map = CreateMapEntity();
|
||||
map.spawn_entity(TEST_ENTITY_ID, TEST_ENTITY_TYPE, 0, 0);
|
||||
|
||||
//Move entity
|
||||
map.move_entity(TEST_ENTITY_ID, TEST_ENTITY_TYPE, -1, -1);
|
||||
|
||||
EXPECT_EQ(map.get_entity_pos_x(TEST_ENTITY_ID, TEST_ENTITY_TYPE), 0);
|
||||
EXPECT_EQ(map.get_entity_pos_y(TEST_ENTITY_ID, TEST_ENTITY_TYPE), 0);
|
||||
}
|
||||
TEST(GameMapTest, MoveEntityNegativeFromNonZero)
|
||||
{
|
||||
GameMap map = CreateMapEntity();
|
||||
map.spawn_entity(TEST_ENTITY_ID, TEST_ENTITY_TYPE, 1, 1);
|
||||
|
||||
//Move entity
|
||||
std::cout << std::string(map.move_entity(TEST_ENTITY_ID, TEST_ENTITY_TYPE, -2, -2)) << std::endl;
|
||||
|
||||
EXPECT_EQ(map.get_entity_pos_x(TEST_ENTITY_ID, TEST_ENTITY_TYPE), 0);
|
||||
EXPECT_EQ(map.get_entity_pos_y(TEST_ENTITY_ID, TEST_ENTITY_TYPE), 0);
|
||||
}
|
||||
TEST(GameMapTest, StopEntityFromMovingOutOfBounds)
|
||||
{
|
||||
GameMap map = CreateMapEntity();
|
||||
map.spawn_entity(TEST_ENTITY_ID, TEST_ENTITY_TYPE, map.get_size_x()-1, map.get_size_y()-1);
|
||||
|
||||
//Move entity
|
||||
map.move_entity(TEST_ENTITY_ID, TEST_ENTITY_TYPE, 2, 2);
|
||||
|
||||
EXPECT_EQ(map.get_entity_pos_x(TEST_ENTITY_ID, TEST_ENTITY_TYPE), map.get_size_x() - 1);
|
||||
EXPECT_EQ(map.get_entity_pos_y(TEST_ENTITY_ID, TEST_ENTITY_TYPE), map.get_size_y() - 1);
|
||||
}
|
||||
TEST(GameMapTest, RemoveMapEntity)
|
||||
{
|
||||
GameMap map = CreateMapEntity();
|
||||
map.spawn_entity(TEST_ENTITY_ID, TEST_ENTITY_TYPE);
|
||||
EXPECT_TRUE(map.remove_entity(TEST_ENTITY_ID, TEST_ENTITY_TYPE));
|
||||
EXPECT_FALSE(map.entity_exists(TEST_ENTITY_ID, TEST_ENTITY_TYPE));
|
||||
}
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
|
Reference in New Issue
Block a user