Files
Memory/Memory.Test/GameTest.cs
2024-11-07 01:52:51 +01:00

44 lines
1.4 KiB
C#

using Memory.Logic;
using Memory.Data;
namespace Memory.Test
{
[TestClass]
public class GameTest
{
[TestMethod]
public void CreateDeck_20pairs_ShouldEqual40RandomCards()
{
List<Card> deck1 = Game.CreateDeck(20);
List<Card> deck2 = Game.CreateDeck(20);
Assert.IsTrue(deck1.Count == 40 && deck2.Count == 40 && !deck1.SequenceEqual(deck2));
}
[TestMethod]
public void IncreaseScore_QuarterTime_ShouldEqual75PercentOfPoints()
{
int score = (int)(Game.MAXPOINTS * 0.75);
Game game = new(new ScoreHandler(), "test");
Thread.Sleep(Game.MAXTIME / 4);
game.IncreaseScore();
Assert.IsTrue(score - 1 <= game.Scoring.Points && score + 1 >= game.Scoring.Points);
}
[TestMethod]
public void IncreaseScore_TooLong_ShouldEqualLowerBoundOfPoints()
{
Game game = new(new ScoreHandler(), "test");
Thread.Sleep(Game.MAXTIME);
game.IncreaseScore();
Assert.AreEqual(Game.MINPOINTS, game.Scoring.Points);
}
[TestMethod]
public void IncreaseScore_Instant_ShouldEqualUpperBoundOfPoints()
{
Game game = new(new ScoreHandler(), "test");
game.IncreaseScore();
Assert.AreEqual(Game.MAXPOINTS, game.Scoring.Points);
}
}
}