public void SelectedBanTest()
        {
            var referee = new Referee();
            int firstIndex = 4;
            int secondIndex = 5;
            int thirdIndex = 6;

            try
            {
                referee.BlockIsSelected(firstIndex);
                Assert.AreEqual(firstIndex, referee.FirstSelectedBlockIndex);
                referee.BlockIsSelected(secondIndex);
                Assert.AreEqual(secondIndex, referee.SecondSelectedBlockIndex);
                referee.BlockIsSelected(thirdIndex);
                /*
                 * После того, как пользователь попытался открыть третий блок,
                 * сохраненные ранее два первых индекса не меняются.
                 */
                Assert.AreEqual(firstIndex, referee.FirstSelectedBlockIndex);
                Assert.AreEqual(secondIndex, referee.SecondSelectedBlockIndex);
            }
            catch (InvalidOperationException ex)
            {
                Assert.Inconclusive(string.Format("---Exception---\n" + 
                                                  "{0}: {1}\n" +
                                                  "----------------------", 
                                                  ex.Source, ex.Message));
            }
        }
        public void BlockIsSelectedTest()
        {
            var referee = new Referee();
            /* 
             * По умолчанию панель состоит из 16 блоков (см Core.Settings.BlockNumber).
             * Диапазон индексов [0, 1, .. 14, 15].
             * Сразу после создания панели, все блоки закрыты.
             */
            int rightindex = 8;
            int tooSmallIndex = -10;
            int tooLargeIndex = 100;

            Assert.IsFalse(referee.BlockIsSelected(tooSmallIndex));
            Assert.IsFalse(referee.BlockIsSelected(tooLargeIndex));
            Assert.IsTrue(referee.BlockIsSelected(rightindex));
            // Открытый блок второй раз не откроется
            Assert.IsFalse(referee.BlockIsSelected(rightindex));
        }
        public void CanCheckTest()
        {
            var referee = new Referee();
            /* 
             * По умолчанию панель состоит из 16 блоков (см Core.Settings.BlockNumber).
             * Диапазон индексов [0, 1, .. 14, 15].
             * Пару блоков можно искать только тогда, когда выбраны два блока.
             */
            int blockIndex1 = 8;
            int blockIndex2 = 9;

            // Ни один блок не выбран
            Assert.IsFalse(referee.SelectedTwoBlocks);
            referee.BlockIsSelected(blockIndex1);
            // Выбран только один блок
            Assert.IsFalse(referee.SelectedTwoBlocks);
            referee.BlockIsSelected(blockIndex2);
            // Выбраны два блока
            Assert.IsTrue(referee.SelectedTwoBlocks);
        }