Exemplo n.º 1
0
        public void Test01_NullTest()
        {
            var oilCoasts  = new int[] { 5 };
            var trainRoads = new int[, ] {
            };

            var a      = OptimalWay.GetOptimalWay(oilCoasts, trainRoads);
            var answer = a.ToList();

            answer.Count.Should().Be(0);
        }
Exemplo n.º 2
0
        public void Test00_FromTask()
        {
            var oilCoasts  = new int[] { 5, 10, 1 };
            var trainRoads = new int[, ] {
                { 1, 3 }, { 1, 2 }, { 3, 2 }
            };

            var a      = OptimalWay.GetOptimalWay(oilCoasts, trainRoads);
            var answer = a.ToList();

            answer.Count.Should().Be(2);
            answer[0].Should().Be(1);
            answer[1].Should().Be(3);
        }
Exemplo n.º 3
0
        public void Test02_FivePointGraph()
        {
            var oilCoasts  = new int[] { 10, 20, 30, 40, 50 };
            var trainRoads = new int[, ] {
                { 1, 2 }, { 1, 3 }, { 1, 4 }, { 2, 4 }, { 3, 5 }, { 3, 4 }, { 4, 5 }
            };

            var a      = OptimalWay.GetOptimalWay(oilCoasts, trainRoads);
            var answer = a.ToList();

            answer.Count.Should().Be(3);
            answer[0].Should().Be(1);
            answer[1].Should().Be(3);
            answer[2].Should().Be(5);
        }
Exemplo n.º 4
0
        public void Test03_CircleGraph()
        {
            var oilCoasts  = new int[] { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 };
            var trainRoads = new int[, ] {
                { 1, 3 }, { 1, 2 }, { 2, 4 }, { 3, 5 }, { 4, 6 }, { 5, 7 }, { 6, 8 }, { 7, 9 }, { 8, 10 }, { 9, 10 }
            };

            var a      = OptimalWay.GetOptimalWay(oilCoasts, trainRoads);
            var answer = a.ToList();

            answer.Count.Should().Be(6);
            answer[0].Should().Be(1);
            answer[1].Should().Be(2);
            answer[2].Should().Be(4);
            answer[3].Should().Be(6);
            answer[4].Should().Be(8);
            //answer[1].Should().Be(3);
            //answer[2].Should().Be(5);
            //answer[3].Should().Be(7);
            //answer[4].Should().Be(9);
            answer[5].Should().Be(10);
        }