コード例 #1
0
            public void TestAdd_SomeQueue_SizeIncreasedOne()
            {
                var p = new PiecesQueue();

                Assert.That(!p.Any());
                p.Add(_piece);
                Assert.That(p.Count() == 1, "Size was " + p.Count());
            }
コード例 #2
0
            public void TestValidSet_ValidIndexer_ItemReplaced()
            {
                var q = new PiecesQueue {
                    _piece
                };

                q[0] = new Piece(PieceType.Flower, Color.Red, Color.White);
                Assert.That(q[0].OuterColor == Color.Red);
            }
コード例 #3
0
            public void ContainsShovel_HasShovel_ReturnTrue()
            {
                var p = new PiecesQueue {
                    _piece,
                    new Piece(PieceType.Shovel, Color.None, Color.None)
                };

                Assert.That(p.ContainsShovel());
            }
コード例 #4
0
    void Awake()
    {
        if (Instance == null) //singleton for leveldata
        {
            Instance = this;
        }

        for (int i = 0; i < _pieces.Count; i++)
        {
            PiecesQueue.Enqueue(_pieces[i]);
        }
    }
コード例 #5
0
            public void TestSplitByShovel_OneShovelAtFront_OneList()
            {
                var p = new PiecesQueue {
                    new Piece(PieceType.Shovel, Color.None, Color.None),
                    new Piece(PieceType.Flower, Color.Blue, Color.Pink),                         //0
                    new Piece(PieceType.Flower, Color.Blue, Color.Red),                          //1
                    new Piece(PieceType.Flower, Color.Yellow, Color.Red)                         //2
                };
                var splitQueue = p.SplitByShovel();

                Assert.That(splitQueue.Count == 1);
                TestHelper(splitQueue[0][0], PieceType.Flower, Color.Blue, Color.Pink);
                TestHelper(splitQueue[0][1], PieceType.Flower, Color.Blue, Color.Red);
                TestHelper(splitQueue[0][2], PieceType.Flower, Color.Yellow, Color.Red);
            }
コード例 #6
0
        public MoveList Solve(Board board, PiecesQueue queue)
        {
            if (queue == null)
            {
                throw new ArgumentNullException("queue");
            }
            if (board == null)
            {
                throw new ArgumentNullException("board");
            }

            PiecesQueue = queue;
            Board       = board;

            return(Solve());
        }
コード例 #7
0
        private static PiecesQueue TranslateToPiecesQueue(IEnumerable <Flowerz.Model.Piece> queue)
        {
            var q = new PiecesQueue();

            foreach (var flower in queue)
            {
                q.Add(new Flowerz.SolverModel.Piece(flower));
            }

            Console.WriteLine("Queue info: ");
            foreach (var piece in q)
            {
                Console.Write(piece + ", ");
            }
            Console.WriteLine();
            return(q);
        }
コード例 #8
0
            public void TestSplitByShovel_OneShovel_TwoLists()
            {
                var p = new PiecesQueue {
                    new Piece(PieceType.Flower, Color.Blue, Color.Pink),                                       //0
                    new Piece(PieceType.Flower, Color.Blue, Color.Red),                                        //1
                    new Piece(PieceType.Flower, Color.Yellow, Color.Red),                                      //2
                    new Piece(PieceType.Shovel, Color.None, Color.None),                                       //3
                    new Piece(PieceType.Flower, Color.Pink, Color.Cyan),                                       //4
                    new Piece(PieceType.Flower, Color.Cyan, Color.White),                                      //5
                };
                var splitQueue = p.SplitByShovel();

                Assert.That(splitQueue.Count == 2);
                Assert.That(splitQueue[0].Count == 3);
                Assert.That(splitQueue[1].Count == 2);

                TestHelper(splitQueue[0][0], PieceType.Flower, Color.Blue, Color.Pink);
                TestHelper(splitQueue[0][1], PieceType.Flower, Color.Blue, Color.Red);
                TestHelper(splitQueue[0][2], PieceType.Flower, Color.Yellow, Color.Red);

                TestHelper(splitQueue[1][0], PieceType.Flower, Color.Pink, Color.Cyan);
                TestHelper(splitQueue[1][1], PieceType.Flower, Color.Cyan, Color.White);
            }
コード例 #9
0
            public void TestInvalidIndexer_Set_IndexerTooLow()
            {
                var p = new PiecesQueue();

                p[-1] = new Piece(PieceType.Flower, Color.Red, Color.White);
            }
コード例 #10
0
 public void TestInvalidIndexer_GetIndexerTooLow_Exception()
 {
     var p = new PiecesQueue();
     var x = p[-1];
 }
コード例 #11
0
 public void TestInvalidIndexer_GetIndexerTooHigh_Exception()
 {
     var p = new PiecesQueue();
     var x = p[10];
 }