public void TestGenerateThreeBigBubbles()
        {
            RandomStrategy generateBubble = new RandomStrategy();
            Field          field          = new Field(10, 10);

            Cell[] bubbles = generateBubble.GenerateBigBubbles(field, 3);

            Assert.IsNotNull(bubbles);
            Assert.AreEqual(BubbleSize.Big, bubbles[0].Contain);
            Assert.AreEqual(BubbleSize.Big, bubbles[1].Contain);
            Assert.AreEqual(BubbleSize.Big, bubbles[2].Contain);
            Assert.IsNotNull(bubbles[0].Color);
            Assert.IsNotNull(bubbles[1].Color);
            Assert.IsNotNull(bubbles[2].Color);
            Assert.IsTrue(bubbles[0].Row >= 0 && bubbles[0].Row <= field.Height - 1);
            Assert.IsTrue(bubbles[1].Row >= 0 && bubbles[1].Row <= field.Height - 1);
            Assert.IsTrue(bubbles[1].Row >= 0 && bubbles[1].Row <= field.Height - 1);
            Assert.IsTrue(bubbles[0].Column >= 0 && bubbles[0].Column <= field.Width - 1);
            Assert.IsTrue(bubbles[1].Column >= 0 && bubbles[1].Column <= field.Width - 1);
            Assert.IsTrue(bubbles[2].Column >= 0 && bubbles[2].Column <= field.Width - 1);
        }
        public void TestGenerateBigBubbles_UniqueResult()
        {
            RandomStrategy generateBubble = new RandomStrategy();
            Field          field          = new Field(5, 5);

            for (int i = 0; i < field.Height; i++)
            {
                for (int j = 0; j < field.Width - 1; j++)
                {
                    field.Cells[i, j].Contain = BubbleSize.Big;
                    field.Cells[i, j].Color   = BubbleColor.Red;
                }
            }
            field.EmptyCells = 5;

            Cell[] bubbles = generateBubble.GenerateBigBubbles(field, 5);

            Assert.IsTrue(bubbles.Any(x => x.Row == 2 && x.Column == 4));
            Assert.IsTrue(bubbles.Any(x => x.Row == 3 && x.Column == 4));
            Assert.IsTrue(bubbles.Any(x => x.Row == 4 && x.Column == 4));
            Assert.IsTrue(bubbles.Any(x => x.Row == 1 && x.Column == 4));
            Assert.IsTrue(bubbles.Any(x => x.Row == 2 && x.Column == 4));
        }