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); }
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); }