improvfmeents

This commit is contained in:
Michal Vrba
2026-09-04 11:31:52 +02:00
parent 7ca0e08637
commit d4e0071f95
14 changed files with 941 additions and 61 deletions
+35
View File
@@ -504,4 +504,39 @@ public class GameEngineTests
Assert.Equal("😾", player.GetLiveAvatar());
Assert.Equal("🔥", player.GetEmotionBadge());
}
[Fact]
public void GameStatsAndMoveLog_RecordEventsProperly()
{
var engine = new GameEngine(seed: 42);
var p1 = new Player("Hráč 1", PlayerType.Human);
var p2 = new Player("AI 1", PlayerType.AI);
var rules = new RuleOptions { StackSevens = true };
engine.StartGame(new List<Player> { p1, p2 }, rules);
Assert.NotNull(engine.State.Stats);
Assert.NotNull(engine.State.MoveLog);
Assert.NotEmpty(engine.State.MoveLog);
Assert.Contains(engine.State.MoveLog, l => l.Text.Contains("Hra sa začala"));
// Play Seven
p1.Hand.Clear();
var seven = new Card(Suit.Hearts, Rank.Seven);
p1.Hand.Add(seven);
p1.Hand.Add(new Card(Suit.Hearts, Rank.Eight));
engine.State.DiscardPile.Clear();
engine.State.DiscardPile.Add(new Card(Suit.Hearts, Rank.Ten));
engine.PlayCard(p1, seven);
Assert.Equal(1, engine.State.Stats.TotalSevensPlayed);
Assert.Contains(engine.State.MoveLog, l => l.Text.Contains("zahral") && l.Text.Contains("Sedma"));
// Bot draws 3 cards
engine.DrawOrAcknowledge(p2);
Assert.True(engine.State.Stats.MaxPenaltyDrawnInOneTurn >= 3);
Assert.Contains(engine.State.MoveLog, l => l.Text.Contains("potiahol 3"));
}
}