示例#1
0
        public void GiveMatchTilesAddedToRemoveTile_WhenExecute_ThenRemoveMatchTile()
        {
            MatchTile matchTile = new MatchTile();

            matchTile.type    = MatchTileType.MatchToken_A;
            matchTile.canMove = true;

            List <MatchTile> matchTiles = new List <MatchTile> ();

            matchTiles.Add(matchTile);

            RemoveTile removeTile = new RemoveTile();

            removeTile.matchTiles = matchTiles;

            matchTileGridModel.CanMove(matchTile).Returns(true);

            removeMatchTilesCommand.removeTile = removeTile;
            removeMatchTilesCommand.Execute();

            IEnumerator iEnum = removeMatchTilesCommand.enumerator;

            iEnum.MoveNext();
            iEnum.MoveNext();

            matchTileFactory.Received().RemoveMatchTile(matchTile);
        }
示例#2
0
        public void GivenMatchTilesDataLoadedTwoByTwoWithNoMatchTokenData_WhenExecute_ThenCreateFourRandomMatchTile()
        {
            MatchTilesData layout = ScriptableObject.CreateInstance <MatchTilesData> ();

            layout.matchTilesData = new List <MatchTileData> ();

            matchTileGridModel.matchTilesData.Returns(layout);
            matchTileGridModel.gridSize = new Vector2(2, 2);

            createMatchTileGridCommand.Execute();

            matchTileFactory.Received(4).CreateRandomMatchTile(Arg.Any <Vector2> ());
        }
示例#3
0
        public void GivenMatchTileSlotIsEmpty_WhenExecute_ThenCreateRandomMatchTile()
        {
            matchTileGridModel.gridSize = new Vector2(1, 1);

            // We can't set this as null directly, but using a lambda enables us to..
            matchTileGridModel.GetMatchTile(new Vector2(0, 0)).Returns(a => null);

            createNewTileCommand.Execute();

            IEnumerator iEnum = createNewTileCommand.enumerator;

            iEnum.MoveNext();
            iEnum.MoveNext();

            matchTileFactory.Received().CreateRandomMatchTile(Arg.Any <Vector2> ());
        }