public void ProcessMoves_EightSnakes_IsNotTooSlow() { var board = TestCases.Test12().Board; int[,] boardArray = GetBoardArray(board); var snakeBodies = GetSnakeBodies(board); var healths = GetHealths(board); var moves = new LegalMove[] { LegalMove.Left, LegalMove.Up, LegalMove.Up, LegalMove.Right, LegalMove.Left, LegalMove.Down, LegalMove.Down, LegalMove.Right }; BodyPartPosition[][] futureSnakes = null; int[] futureHealths = null; var stopwatch = Stopwatch.StartNew(); for (int i = 0; i < 65536; i++) { (futureSnakes, futureHealths) = this.gameEngine.ProcessMoves(snakeBodies, healths, boardArray, moves); } stopwatch.Stop(); Console.WriteLine(stopwatch.Elapsed); Assert.That(stopwatch.ElapsedMilliseconds, Is.LessThan(100)); Assert.That(futureSnakes.Count, Is.EqualTo(8)); Assert.That(futureHealths.All(x => x == 100), Is.True); }
public void Test12() { var gameState = TestCases.Test12(); var stopwatch = Stopwatch.StartNew(); var move = this.brain.Move(gameState); Console.WriteLine(stopwatch.Elapsed); Assert.That(move, Is.EqualTo(LegalMove.Up)); }