code check
continuous-integration/drone/push Build is passing Details

test_old_branch
Jérémy Mouyon 12 months ago
parent 7d4fb356fd
commit 500a50ee71

@ -65,13 +65,22 @@ namespace QwirkleClassLibrary
return board; return board;
} }
public void StartGame() public bool StartGame()
{
if(players.Count>= 2 && players.Count < 5)
{ {
this.GameRunning = true; this.GameRunning = true;
return true;
}
return false;
} }
public Player GetPlayingPlayer() public Player GetPlayingPlayer()
{ {
if(GetPlayingPlayerPosition() == -1)
{
throw new ArgumentException();
}
return players[GetPlayingPlayerPosition()]; return players[GetPlayingPlayerPosition()];
} }
@ -107,10 +116,18 @@ namespace QwirkleClassLibrary
} }
public string SetFirstPlayer() public string SetFirstPlayer()
{
if (GameRunning == true)
{ {
players[0].IsPlaying = true; players[0].IsPlaying = true;
return players[0].NameTag; return players[0].NameTag;
} }
else
{
throw new ArgumentException("Game is not running");
}
}
public string SetNextPlayer() public string SetNextPlayer()
{ {

@ -3,36 +3,58 @@ namespace TestBase;
public class TestBoard public class TestBoard
{ {
public static IEnumerable<object[]> Data_Board() public static IEnumerable<object[]> Data_Board()
{ {
yield return new object[] yield return new object[]
{ {
true, true,
new Cell(0,0), 1,
2,
new Tile(Shape.Round, Color.Red) new Tile(Shape.Round, Color.Red)
}; };
yield return new object[] yield return new object[]
{ {
false, false,
new Cell(0,0), -5,
9999,
new Tile(Shape.Round, Color.Red) new Tile(Shape.Round, Color.Red)
}; };
} }
[Theory] [Theory]
[MemberData(nameof(Data_Board))] [MemberData(nameof(Data_Board))]
public void Test_AddTile(bool except, Cell c, Tile t) public void Test_BoardAddSolo(bool except, int x, int y, Tile t)
{ {
Board b = new Board();
if (!except) if (!except)
{ {
c.SetTile(t); Assert.False(b.AddTileInCell(x, y, t));
Assert.False(c.SetTile(t));
return; return;
}
Assert.True(b.AddTileInCell(x, y, t));
}
public static IEnumerable<object[]> Data_BoardDouble()
{
yield return new object[]
{
1,
2,
new Tile(Shape.Round, Color.Red)
};
} }
Assert.True(c.SetTile(t));
[Theory]
[MemberData(nameof(Data_BoardDouble))]
public void Test_BoardFree(int x, int y, Tile t)
{
Board board = new Board();
board.AddTileInCell(x, y, t);
Assert.False(board.AddTileInCell(x,y, t));
} }
} }

@ -0,0 +1,127 @@
using QwirkleClassLibrary;
namespace TestBase;
public class TestGame
{
[Theory]
[InlineData(true, false, "testt")]
[InlineData(false, false, "testt")]
public void Test_GameAddPlayerIngame(bool result, bool gamestate, string p)
{
Game game = new Game();
if (!result) {
game.AddPlayerInGame(p);
Assert.False(game.AddPlayerInGame(p));
}
else
{
Assert.True(game.AddPlayerInGame(p));
}
if (gamestate)
{
Assert.False(game.AddPlayerInGame(p));
}
}
[Theory]
[InlineData(false, null)]
[InlineData(true, "test")]
public void Test_GameAddPlayerIngame2(bool result, string p)
{
Game game = new Game();
if (!result)
{
Assert.False(game.AddPlayerInGame(p));
}
for (int i = 0; i < 4; i++)
{
string name = p + i;
game.AddPlayerInGame(name);
}
Assert.False(game.AddPlayerInGame(p));
}
[Theory]
[InlineData("test")]
public void Test_GameCreatePlayers(string p)
{
Game game = new Game();
Player player = new Player(p);
Assert.Equal(game.CreatePlayer(p).NameTag, player.NameTag);
}
[Theory]
[InlineData(true, "test1", "test2")]
[InlineData(false, "test1", "test2")]
public void Test_GameState(bool result, string p1, string p2)
{
Game game = new Game();
if (!result)
{
game.StartGame();
Assert.False(game.GameRunning);
}
game.AddPlayerInGame(p1);
game.AddPlayerInGame(p2);
game.StartGame();
Assert.True(game.GameRunning);
}
[Theory]
[InlineData(true, "test1", "test2", "test3")]
[InlineData(false, "test1", "test2", "test3")]
public void Test_GameGetPlayingPlayerPosition(bool result, string p1, string p2, string p3)
{
Game game = new Game();
game.AddPlayerInGame(p1);
game.AddPlayerInGame(p2);
game.AddPlayerInGame(p3);
if (!result)
{
Assert.Equal(-1, game.GetPlayingPlayerPosition());
return;
}
game.StartGame();
game.SetFirstPlayer();
Assert.Equal(0, game.GetPlayingPlayerPosition());
}
[Theory]
[InlineData(true)]
[InlineData(false)]
public void Test_GameGetPlaylingPlayer(bool result)
{
Game game = new Game();
game.AddPlayerInGame("patrick");
game.AddPlayerInGame("jean");
if (!result)
{
Assert.Throws<ArgumentException>(() => game.GetPlayingPlayer());
}
game.StartGame();
game.SetFirstPlayer();
Assert.Equal(game.PlayerList[0], game.GetPlayingPlayer());
}
}
Loading…
Cancel
Save