コード例 #1
0
        public void DataDrivenTest(int testId, int numCourses, string prerequisites, bool expected)
        {
            var  sut    = new CourseSchedule();
            bool actual = MeasureAndExecute(testId, () => sut.CanFinish(numCourses, prerequisites.ToTwoDimentionArray()));

            actual.Should().Be(expected);
        }
コード例 #2
0
        public void TestCanFinish()
        {
            //无环
            var arr = new int[, ]
            {
                { 1, 0 },
                { 2, 0 },
                { 3, 1 },
                { 5, 2 },
                { 4, 3 },
                { 3, 6 },
            };
            var r = CourseSchedule.CanFinish(7, arr);

            Assert.AreEqual(r, true);

            //有环
            arr = new int[, ]
            {
                { 1, 0 },
                { 2, 0 },
                { 3, 1 },
                { 5, 2 },
                { 4, 3 },
                { 3, 6 },
                { 6, 4 },
            };
            r = CourseSchedule.CanFinish(7, arr);
            Assert.AreEqual(r, false);
        }
コード例 #3
0
 public void TestCanFinish()
 {
     Assert.IsTrue(CourseSchedule.CanFinish(3, new int[, ] {
         { 1, 0 }, { 2, 0 }, { 2, 1 }
     }));
     Assert.IsFalse(CourseSchedule.CanFinish(3, new int[, ] {
         { 1, 0 }, { 0, 1 }
     }));
 }
コード例 #4
0
        public void CanFinishTest()
        {
            CourseSchedule courseSchedule = new CourseSchedule();

            int[][] pre = new int[1][];
            pre[0] = new int[] { 0, 1 };
            bool res = courseSchedule.CanFinish(2, pre);

            Assert.IsTrue(res);
        }
コード例 #5
0
        public void TestCase_1()
        {
            var prerequisits = new int[1][];

            prerequisits[0] = new[] { 1, 0 };

            var courseScheduler = new CourseSchedule();

            Assert.True(courseScheduler.CanFinish(2, prerequisits));
        }
コード例 #6
0
        public void CanFinishTest6()
        {
            CourseSchedule courseSchedule = new CourseSchedule();

            int[][] pre = new int[2][];
            pre[0] = new int[] { 1, 0 };
            pre[1] = new int[] { 2, 1 };
            bool res = courseSchedule.CanFinish(3, pre);

            Assert.IsTrue(res);
        }
コード例 #7
0
        public void CanFinishTest2()
        {
            CourseSchedule courseSchedule = new CourseSchedule();

            int[][] pre = new int[2][];
            pre[0] = new int[] { 0, 1 };
            pre[1] = new int[] { 1, 0 };
            bool res = courseSchedule.CanFinish(2, pre);

            Assert.IsFalse(res);
        }
コード例 #8
0
        public void TestCase_2()
        {
            var prerequisits = new int[2][];

            prerequisits[0] = new[] { 1, 0 };
            prerequisits[1] = new[] { 0, 1 };

            var courseScheduler = new CourseSchedule();

            Assert.False(courseScheduler.CanFinish(2, prerequisits));
        }
コード例 #9
0
        public void TestCase_3()
        {
            //3
            //[[0,1],[0,2],[1,2]]

            var prerequisits = new int[3][];

            prerequisits[0] = new[] { 0, 1 };
            prerequisits[1] = new[] { 0, 2 };
            prerequisits[2] = new[] { 1, 2 };

            var courseScheduler = new CourseSchedule();

            Assert.True(courseScheduler.CanFinish(3, prerequisits));
        }