public void TestGetCriticalPath3() { // Prédecesseurs multiples var t1 = new KAction() { Label = "T1", WBS = "1", BuildStart = 0, BuildDuration = 2 }; var t2 = new KAction() { Label = "T2", WBS = "2", BuildStart = 0, BuildDuration = 3 }; var t3 = new KAction() { Label = "T3", WBS = "3", BuildStart = 0, BuildDuration = 4 }; var t4 = new KAction() { Label = "T4", WBS = "4", BuildStart = 0, BuildDuration = 2 }; var t5 = new KAction() { Label = "T5", WBS = "5", BuildStart = 0, BuildDuration = 2 }; var actions = new List <KAction>() { t1, t2, t3, t4, t5 }; t3.Predecessors.Add(t1); t3.Predecessors.Add(t2); t4.Predecessors.Add(t3); t5.Predecessors.Add(t3); var collection = new BulkObservableCollection <DataTreeGridItem>(); var manager = new GridActionsManager(collection, null, null); manager.ChangeView(GanttGridView.WBS, null); manager.RegisterInitialActions(actions); manager.FixPredecessorsSuccessorsTimings(); var actual = manager.UpdateCriticalPath().ToList(); var expected = new List <ActionPath>() { actual.First(c => c.Action == t2), actual.First(c => c.Action == t3), actual.First(c => c.Action == t4) }; CollectionAssert.AreEqual(expected, actual); }
public void TestGetCriticalPath1() { var g1 = new KAction() { Label = "G1", WBS = "1" }; var t1 = new KAction() { Label = "T1", WBS = "1.1", BuildStart = 0, BuildDuration = 2 }; var t2 = new KAction() { Label = "T2", WBS = "1.2" }; var t21 = new KAction() { Label = "T21", WBS = "1.2.1", BuildStart = 0, BuildDuration = 2 }; var t22 = new KAction() { Label = "T22", WBS = "1.2.2", BuildStart = 0, BuildDuration = 2 }; var actions = new List <KAction>() { g1, t1, t2, t21, t22 }; t22.Predecessors.Add(t1); t21.Predecessors.Add(t22); var collection = new BulkObservableCollection <DataTreeGridItem>(); var manager = new GridActionsManager(collection, null, null); manager.ChangeView(GanttGridView.WBS, null); manager.RegisterInitialActions(actions); manager.FixPredecessorsSuccessorsTimings(); var actual = manager.UpdateCriticalPath().ToList(); //var actual = manager.GetCriticalPathv2().ToList(); var expected = new List <ActionPath>() { actual.First(c => c.Action == t1), actual.First(c => c.Action == t22), actual.First(c => c.Action == t21) }; CollectionAssert.AreEqual(expected, actual); }
public void TestGetCriticalPath_Bug1545_Equivalent() { var t1 = new KAction() { Label = "T1", WBS = "1", BuildStart = 0, BuildDuration = 1 }; var t2 = new KAction() { Label = "T2", WBS = "2", BuildStart = 0, BuildDuration = 0 }; var t3 = new KAction() { Label = "T3", WBS = "3", BuildStart = 2, BuildDuration = 1 }; var actions = new List <KAction>() { t1, t2, t3 }; t2.Predecessors.Add(t1); var collection = new BulkObservableCollection <DataTreeGridItem>(); var manager = new GridActionsManager(collection, null, null); manager.ChangeView(GanttGridView.WBS, null); manager.RegisterInitialActions(actions); manager.FixPredecessorsSuccessorsTimings(); var actual = manager.UpdateCriticalPath().ToList(); var expected = new List <ActionPath>() { actual.First(c => c.Action == t1), actual.First(c => c.Action == t2), actual.First(c => c.Action == t3) }; CollectionAssert.AreEqual(expected, actual); }