Skip to content

Commit 34d486f

Browse files
committed
Added test case for playing a game.
1 parent 759ef62 commit 34d486f

1 file changed

Lines changed: 23 additions & 0 deletions

File tree

src/Codebreaker.ViewModels.Tests/GamePageViewModelTests.cs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,4 +73,27 @@ public async Task TestIsLoadingNotificationAfterStart()
7373

7474
Assert.Equal(expectedIsLoadingValues, actualInProgressValues);
7575
}
76+
77+
[Fact]
78+
public async Task TestMoves()
79+
{
80+
// Start game
81+
var viewModel = new GamePageViewModel(_gamesClientMock.Object, _infoBarServiceMock.Object);
82+
viewModel.Username = "Test";
83+
84+
await viewModel.StartGameCommand.ExecuteAsync(null);
85+
86+
// Play game
87+
foreach ((string[] guessPegs, _, _, _) in s_moves)
88+
{
89+
for (int i = 0; i < guessPegs.Length; i++)
90+
viewModel.SelectedFields[i].Color = guessPegs[i];
91+
92+
await viewModel.MakeMoveCommand.ExecuteAsync(null);
93+
}
94+
95+
Assert.Equal(s_moves.Length, viewModel.Game?.Moves.Count);
96+
Assert.NotNull(viewModel.Game?.EndTime);
97+
Assert.True(viewModel.Game?.IsVictory);
98+
}
7699
}

0 commit comments

Comments
 (0)