public void Check_ShouldReturnCorrectStatus(int posX, int posY, ResultEnum expectedResult) { //Arrange var currentPos = new Point(posX, posY); var gameSetting = new GameSetting { ExitPoint = new Point(4, 4), MinePositions = new List <Point> { new Point(1, 1), new Point(3, 3) } }; var sequenceMoveHandler = new SequenceMoveHandler(gameSetting); //Act var actualCheck = sequenceMoveHandler.Check(new Position() { Direction = DirectionEnum.East, CurrentPosition = currentPos }, false); //Assert Assert.Equal(expectedResult, actualCheck); }
public void ProcessGameSequences_ShouldReturnExactNumberOfSequences() { //Arrange var sequence = "L L M L M M M L M M M"; var sequences = new List <MoveBehaviorEnum>(); foreach (var step in sequence.Split(' ')) { sequences.Add(step.ToMoveBehaviorEnum()); } _gameSetting.Sequences = new List <List <MoveBehaviorEnum> > { sequences, sequences }; var sequenceMoveHandler = new SequenceMoveHandler(_gameSetting); var sequenceProcessor = new Application.SequenceProcessor.SequenceProcessor(_gameSetting, sequenceMoveHandler); //Act var result = sequenceProcessor.ProcessGameSequences().ToList(); //Assert Assert.Equal(2, result.Count); Assert.Equal(ResultEnum.MineHit, result[0].Result); Assert.Equal(ResultEnum.MineHit, result[1].Result); }
public void Move_ShouldReturnCorrectPosition(MoveBehaviorEnum behavior, DirectionEnum direction, int posX, int posY, DirectionEnum expectedDirection, int expPosX, int expPosY) { //Arrange var currentPos = new Point(posX, posY); var expectedPos = new Point(expPosX, expPosY); var gameSetting = new GameSetting { BoardSize = new BoardSize { Width = 5, Height = 5 } }; var sequenceMoveHandler = new SequenceMoveHandler(gameSetting); //Act var expectedResult = sequenceMoveHandler.Move(behavior, direction, currentPos); //Assert Assert.Equal(expectedPos, expectedResult.CurrentPosition); Assert.Equal(expectedDirection, expectedResult.Direction); }
public void ProcessGameSequences_ShouldReturnCorrectResult(string sequence, ResultEnum expectedResult) { //Arrange var sequences = new List <MoveBehaviorEnum>(); foreach (var step in sequence.Split(' ')) { sequences.Add(step.ToMoveBehaviorEnum()); } _gameSetting.Sequences = new List <List <MoveBehaviorEnum> > { sequences }; var sequenceMoveHandler = new SequenceMoveHandler(_gameSetting); var sequenceProcessor = new Application.SequenceProcessor.SequenceProcessor(_gameSetting, sequenceMoveHandler); //Act var result = sequenceProcessor.ProcessGameSequences().ToList(); //Assert Assert.Equal(expectedResult, result[0].Result); }