public void ShouldOutputBestLocationToGetScore() { IGridSimulator gridSimulator; blockPattern = Substitute.For <IBlockPattern>(); blockTypeMock = new BlockType[] { BlockType.Seven, BlockType.Seven, BlockType.Six, BlockType.Five, }; blockPattern.Types.Returns(blockTypeMock); group = groupFactory.Create(setting, blockPattern, groupPattern); AddBlockMock(5, 0, 7); var smartCPU = new SmartCPUBehaviour(grid, setting, CPUMode.Kusotuyo); grid.AddGroup(group); var groupLocation = group.Location; smartCPU.ProcessMovement(); groupLocation += Direction.Right.ToCoord(); Assert.AreEqual(groupLocation, group.Location); smartCPU.ProcessMovement(); groupLocation += Direction.Right.ToCoord(); Assert.AreEqual(groupLocation, group.Location); smartCPU.ProcessMovement(); groupLocation += Direction.Down.ToCoord(); Assert.AreEqual(groupLocation, group.Location); }
public void ShouldOutputBestLocationToGetScore() { IGridSimulator gridSimulator; blockPattern = Substitute.For<IBlockPattern>(); blockTypeMock = new BlockType[] { BlockType.Seven, BlockType.Seven, BlockType.Six, BlockType.Five, }; blockPattern.Types.Returns(blockTypeMock); group = groupFactory.Create(setting, blockPattern, groupPattern); AddBlockMock(5, 0, 7); var smartCPU = new SmartCPUBehaviour(grid, setting, CPUMode.Kusotuyo); grid.AddGroup(group); var groupLocation = group.Location; smartCPU.ProcessMovement(); groupLocation += Direction.Right.ToCoord(); Assert.AreEqual(groupLocation, group.Location); smartCPU.ProcessMovement(); groupLocation += Direction.Right.ToCoord(); Assert.AreEqual(groupLocation, group.Location); smartCPU.ProcessMovement(); groupLocation += Direction.Down.ToCoord(); Assert.AreEqual(groupLocation, group.Location); }