Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions projects/core/include/core/common.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,16 @@ struct Position
int8_t y;
};

/**
* @brief Оператор сравнения позиций
*
* @param current Текущая позиция
* @param other Позиция для сравнения
* @return Возвращает true если координаты совпадают, иначе false
*/
bool
operator==(const Position current, const Position other);

/**
* @brief Уровни сложности
*
Expand Down
7 changes: 7 additions & 0 deletions projects/core/src/core/common.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#include <core/common.h>

bool
OpenIT::operator==(const Position current, const Position other)
{
return current.x == other.x && current.y == other.y;
}
75 changes: 63 additions & 12 deletions projects/core/tests/test.cpp
Original file line number Diff line number Diff line change
@@ -1,31 +1,82 @@
#include <core/game.h>
#include <core/player.h>
#include <gtest/gtest.h>

using namespace OpenIT;

TEST(TestPlayer, ConstructorWithoutParameter_Check)
#if DEPRECATED
TEST(TestGame, Constructor)
{
Player player;
// ToDo Constractor test
Game game;

ASSERT_EQ(player.GetNickname(), "");
ASSERT_EQ(true, true);
}
#endif // DEPRECATED

TEST(TestPlayer, ConstructorWithParameter_Check)
TEST(TestGame, Start_Check)
{
const std::string name = "SomeName";
Game game;

Player player(name);
game.Start();

ASSERT_EQ(player.GetNickname(), name);
Position carriage = { FIELD_SIZE / 2, FIELD_SIZE / 2 };

ASSERT_EQ(game.GetCarriage(), carriage);
ASSERT_EQ(game.GetActivePlayer(), 0);
ASSERT_EQ(game.IsGameOver(), false);
}

TEST(TestGame, AddPlayer_Check)
{
Game game;

Player first;

Player second;

Player third;

game.Start();

ASSERT_EQ(game.AddPlayer(second), true);
ASSERT_EQ(game.AddPlayer(first), true);
ASSERT_EQ(game.AddPlayer(third), false);
}

TEST(TestGame, RemotePlayer_Check)
{
Game game;

Player first;

Player second;

game.Start();

game.AddPlayer(first);
game.AddPlayer(second);

ASSERT_EQ(game.RemovePlayer(1), true);
ASSERT_EQ(game.RemovePlayer(1), false);
ASSERT_EQ(game.RemovePlayer(0), true);
ASSERT_EQ(game.RemovePlayer(0), false);
}

TEST(TestPlayer, SetNickname_Check)
TEST(TestGame, Player_SetNames)
{
Player player;
Player first;

Player second;

std::string firstName = "MrFirst";

std::string secondName = "MsSecond";

const std::string name = "SomeName";
first.SetNickname(firstName);

player.SetNickname(name);
second.SetNickname(secondName);

ASSERT_EQ(player.GetNickname(), name);
ASSERT_EQ(first.GetNickname(), firstName);
ASSERT_EQ(second.GetNickname(), secondName);
}
Loading