コード例 #1
0
        static void Main(string[] args)
        {
            IList <IBlock> blocks = new List <IBlock>();

            blocks.Add(new Block("Нижегородский", "Автозаводская"));
            blocks.Add(new Block("Южнопортовый", "Печатники"));
            blocks.Add(new Block("Текстильщики", "Нижегородский"));
            blocks.Add(new Block("Печатники", "Текстильщики"));

            //Дубликат
            //blocks.Add(new Block("Текстильщики", "Нижегородский"));
            //blocks.Add(new Block("Печатники", "Текстильщики"));

            //Цикл
            //blocks.Add(new Block("Автозаводская", "Южнопортовый"));

            IBlocksSorter blockSorter  = new BlockSorter();
            var           sortedBlocks = blockSorter.Sort(blocks);

            foreach (IBlock block in sortedBlocks)
            {
                Console.WriteLine(block.ToString());
            }

            Console.ReadKey();
        }
コード例 #2
0
        public void EmptyBlocksListTest()
        {
            IList <IBlock> blocks = new List <IBlock>();

            IBlocksSorter blockSorter = new BlockSorter();

            Assert.AreEqual(0, blockSorter.Sort(blocks).Count);
        }
コード例 #3
0
        public void BlocksListIsNullTest()
        {
            IList <IBlock> blocks = null;

            IBlocksSorter blockSorter = new BlockSorter();

            Assert.ThrowsException <ArgumentNullException>(() => blockSorter.Sort(blocks));
        }
コード例 #4
0
        public void BlocksListWithCycleTest()
        {
            IList <IBlock> blocks = new List <IBlock>();

            blocks.Add(new Block("Нижегородский", "Автозаводская"));
            blocks.Add(new Block("Южнопортовый", "Печатники"));
            blocks.Add(new Block("Текстильщики", "Нижегородский"));
            blocks.Add(new Block("Печатники", "Текстильщики"));

            // Цикл
            blocks.Add(new Block("Автозаводская", "Южнопортовый"));

            IBlocksSorter blockSorter = new BlockSorter();

            Assert.ThrowsException <ArgumentException>(() => blockSorter.Sort(blocks));
        }
コード例 #5
0
        public void SimpleTest()
        {
            IList <IBlock> blocks = new List <IBlock>();

            blocks.Add(new Block("Нижегородский", "Автозаводская"));
            blocks.Add(new Block("Южнопортовый", "Печатники"));
            blocks.Add(new Block("Текстильщики", "Нижегородский"));
            blocks.Add(new Block("Печатники", "Текстильщики"));

            IList <IBlock> sortedBlocks = new List <IBlock>();

            sortedBlocks.Add(new Block("Южнопортовый", "Печатники"));
            sortedBlocks.Add(new Block("Печатники", "Текстильщики"));
            sortedBlocks.Add(new Block("Текстильщики", "Нижегородский"));
            sortedBlocks.Add(new Block("Нижегородский", "Автозаводская"));

            IBlocksSorter blockSorter    = new BlockSorter();
            var           returnedBlocks = blockSorter.Sort(blocks);

            TestEquation(sortedBlocks, returnedBlocks);
        }