Beispiel #1
0
        private static void Lee_HappyTest(
            LeeEnum[,] tab,
            int expectedStartRow, int expectedStartCol,
            int expectedEndRow, int expectedEndCol,
            int expectedLastRow, int expectedLastCol,
            int expectedPathLength)
        {
            // Arrange
            var expectedStart = new Position(expectedStartCol, expectedStartRow);
            var expectedEnd   = new Position(expectedEndCol, expectedEndRow);

            var sut = new Lee(tab, Movements);

            // Act
            var result = sut.Execute();

            // Assert
            Assert.Equal(expectedLastRow, result.LastY);
            Assert.Equal(expectedLastCol, result.LastX);

            Assert.Equal(expectedStart, result.Start);
            Assert.Equal(expectedEnd, result.End);

            Assert.True(result.HasSolution);

            Assert.Equal(expectedPathLength - 1, result.SolutionLength);

            var path = result.GetOneRoute().ToArray();

            Assert.Equal(expectedPathLength, path.Length);
            Assert.Equal(path[0], expectedStart);
            Assert.Equal(path[path.Length - 1], expectedEnd);
        }