protected IPosition Next(IPosition pos) { var previousValue = _leeMat[pos.Y, pos.X] - 1; return(Movements.GetMovements(pos, 0, 0, LastX, LastY) .First(p => _leeMat[p.Y, p.X] == previousValue)); }
private static void GetMovements_Test( IPosition[] expectedResult, Position position, IPosition[] relativePositions, int minX = int.MinValue, int minY = int.MinValue, int maxX = int.MaxValue, int maxY = int.MaxValue) { // Arrange var positionFactory = new PositionFactory(); var sut = new Movements(relativePositions, positionFactory); // Act var result = sut.GetMovements(position, minX, minY, maxX, maxY) .ToArray(); // Assert Assert.Equal(expectedResult, result); }