public void Test1()
        {
            var inputs = new List <string>
            {
                "Step C must be finished before step A can begin.",
                "Step C must be finished before step F can begin.",
                "Step A must be finished before step B can begin.",
                "Step A must be finished before step D can begin.",
                "Step B must be finished before step E can begin.",
                "Step D must be finished before step E can begin.",
                "Step F must be finished before step E can begin.",
            };

            var result = Functions.ProcessRules(inputs);

            Assert.AreEqual(6, result.Count);

            CollectionAssert.AreEqual(new char[] { 'C' }, result['A'].Requires);

            CollectionAssert.AreEqual(new char[] { 'A' }, result['B'].Requires);

            CollectionAssert.AreEqual(new char[] { }, result['C'].Requires);

            CollectionAssert.AreEqual(new char[] { 'A' }, result['D'].Requires);

            CollectionAssert.AreEqual(new char[] { 'B', 'D', 'F' }, result['E'].Requires);

            CollectionAssert.AreEqual(new char[] { 'C' }, result['F'].Requires);
        }
示例#2
0
        public void Test1()
        {
            var inputs = new List <string>
            {
                "Step C must be finished before step A can begin.",
                "Step C must be finished before step F can begin.",
                "Step A must be finished before step B can begin.",
                "Step A must be finished before step D can begin.",
                "Step B must be finished before step E can begin.",
                "Step D must be finished before step E can begin.",
                "Step F must be finished before step E can begin.",
            };

            var rules = Functions.ProcessRules(inputs);

            var result = Functions.DetermineExecutionTime(rules, 2, 0);

            Assert.AreEqual(15, result);
        }