コード例 #1
0
    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);
    }
コード例 #2
0
    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);
    }