|
|
|
@ -602,5 +602,93 @@ public class GameTests
|
|
|
|
|
|
|
|
|
|
Assert.Equal(6, _game.FinalCalculusOfPoints());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
public void AddBestScore_AddsNewBestScoreToList()
|
|
|
|
|
{
|
|
|
|
|
var game = new Game(_mockPersistence.Object);
|
|
|
|
|
var player = new Player("John Doe", "DefaultProfilePicture");
|
|
|
|
|
var map = new Map("test_name", "test_background.png");
|
|
|
|
|
|
|
|
|
|
game.InitializeGame(map, player, false);
|
|
|
|
|
|
|
|
|
|
game.AddBestScore(100);
|
|
|
|
|
|
|
|
|
|
Assert.Single(game.BestScores);
|
|
|
|
|
Assert.Equal(100, game.BestScores[0].Score);
|
|
|
|
|
Assert.Equal(player, game.BestScores[0].ThePlayer);
|
|
|
|
|
Assert.Equal(map.Name, game.BestScores[0].MapName);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
public void AddBestScore_UpdatesExistingBestScoreAndIncrementsGamesPlayed()
|
|
|
|
|
{
|
|
|
|
|
var game = new Game(_mockPersistence.Object);
|
|
|
|
|
var player = new Player("John Doe", "DefaultProfilePicture");
|
|
|
|
|
var map = new Map("test_name", "test_background.png");
|
|
|
|
|
|
|
|
|
|
game.InitializeGame(map, player, false);
|
|
|
|
|
|
|
|
|
|
game.AddBestScore(100);
|
|
|
|
|
game.AddBestScore(200);
|
|
|
|
|
|
|
|
|
|
Assert.Single(game.BestScores);
|
|
|
|
|
Assert.Equal(300, game.BestScores[0].Score);
|
|
|
|
|
Assert.Equal(2, game.BestScores[0].GamesPlayed);
|
|
|
|
|
Assert.Equal(player, game.BestScores[0].ThePlayer);
|
|
|
|
|
Assert.Equal(map.Name, game.BestScores[0].MapName);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
public void AddBestScore_SortsBestScoresCorrectly()
|
|
|
|
|
{
|
|
|
|
|
var game = new Game(_mockPersistence.Object);
|
|
|
|
|
var player1 = new Player("John Doe", "DefaultProfilePicture");
|
|
|
|
|
var player2 = new Player("John Does", "DefaultProfilePicture");
|
|
|
|
|
var map = new Map("test_name", "test_background.png");
|
|
|
|
|
|
|
|
|
|
game.InitializeGame(map, player1, false);
|
|
|
|
|
|
|
|
|
|
game.AddBestScore(100);
|
|
|
|
|
game.InitializeGame(map, player2, false);
|
|
|
|
|
game.AddBestScore(200);
|
|
|
|
|
|
|
|
|
|
Assert.Equal(2, game.BestScores.Count);
|
|
|
|
|
Assert.Equal(200, game.BestScores[0].Score);
|
|
|
|
|
Assert.Equal(player2, game.BestScores[0].ThePlayer);
|
|
|
|
|
Assert.Equal(100, game.BestScores[1].Score);
|
|
|
|
|
Assert.Equal(player1, game.BestScores[1].ThePlayer);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
public void CheckAndRemoveBestScoresDependencies_RemovesDependenciesCorrectly()
|
|
|
|
|
{
|
|
|
|
|
var game = new Game(_mockPersistence.Object);
|
|
|
|
|
var player = new Player("John Doe", "DefaultProfilePicture");
|
|
|
|
|
var map = new Map("test_name", "test_background.png");
|
|
|
|
|
|
|
|
|
|
game.InitializeGame(map, player, false);
|
|
|
|
|
game.AddBestScore(100);
|
|
|
|
|
|
|
|
|
|
game.CheckAndRemoveBestScoresDependencies(player.Pseudo);
|
|
|
|
|
|
|
|
|
|
Assert.DoesNotContain(game.BestScores, bs => bs.ThePlayer.Pseudo == player.Pseudo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
public void CheckAndChangeBestScoresDependencies_ChangesDependenciesCorrectly()
|
|
|
|
|
{
|
|
|
|
|
var game = new Game(_mockPersistence.Object);
|
|
|
|
|
var player = new Player("John Doe", "DefaultProfilePicture");
|
|
|
|
|
var map = new Map("test_name", "test_background.png");
|
|
|
|
|
|
|
|
|
|
game.InitializeGame(map, player, false);
|
|
|
|
|
game.AddBestScore(100);
|
|
|
|
|
|
|
|
|
|
game.CheckAndChangeBestScoresDependencies(player.Pseudo, "John Does");
|
|
|
|
|
|
|
|
|
|
Assert.All(game.BestScores, bs => Assert.NotEqual("John Doe", bs.ThePlayer.Pseudo));
|
|
|
|
|
Assert.Contains(game.BestScores, bs => bs.ThePlayer.Pseudo == "John Does");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|