public void TestRemove() { IStackSet <IScheduleNode> stackSet = new StackSet <IScheduleNode>(); IScheduleNode testNumber = new DummyNode(1); IScheduleNode testNumber2 = new DummyNode(5); stackSet.Push(testNumber); stackSet.Push(testNumber2); stackSet.Remove(testNumber); Assert.True(stackSet.GetAny().Equals(testNumber2) && stackSet.Count() == 1, "Remove didn't work."); stackSet.Remove(testNumber2); Assert.True(stackSet.Any() == false && stackSet.Count() == 0, "Remove didn't work."); }
public void TestCount() { IStackSet <IScheduleNode> stackSet = new StackSet <IScheduleNode>(); IScheduleNode testNumber = new DummyNode(1); IScheduleNode testNumber2 = new DummyNode(5); stackSet.Push(testNumber); stackSet.Push(testNumber2); Assert.True(stackSet.Count().Equals(2), "PopAny didn't work."); }
public void TestAdd() { IStackSet <IScheduleNode> stackSet = new StackSet <IScheduleNode>(); IScheduleNode testNumber = new DummyNode(1); stackSet.Push(testNumber); stackSet.Push(testNumber); Assert.True(stackSet.Count().Equals(1), "Set contains a duplicate."); Assert.True(stackSet.PopAny().Equals(new DummyNode(new Id(1))), "Value was not correctly added."); }
public void TestGetAny() { IStackSet <IScheduleNode> stackSet = new StackSet <IScheduleNode>(); IScheduleNode testNumber = new DummyNode(1); IScheduleNode testNumber2 = new DummyNode(5); stackSet.Push(testNumber); stackSet.Push(testNumber2); IScheduleNode poppedElement = stackSet.GetAny(); Assert.True( (poppedElement.Equals(testNumber2) || poppedElement.Equals(testNumber)) && stackSet.Count() == 2, "PopAny didn't work."); }
public void TestGetById() { IStackSet <IScheduleNode> stackSet = new StackSet <IScheduleNode>(); int countNodes = 10; for (int i = 0; i < countNodes; i++) { IScheduleNode testNumber = new DummyNode(i); stackSet.Push(testNumber); } for (int i = countNodes - 1; i > 0; i--) { IScheduleNode scheduleNode = new DummyNode(i); Assert.True( stackSet.GetById(new Id(i)).Equals(scheduleNode) && stackSet.Count() == i + 1, "GetById() didn't work."); stackSet.Remove(scheduleNode); } }
public void TestBackwardSchedulingTransitionTimeBetweenOperationsIsCorrect( string testConfigurationFileName) { InitThisTest(testConfigurationFileName); IDbTransactionData dbTransactionData = ZppConfiguration.CacheManager.ReloadTransactionData(); IDirectedGraph <INode> operationGraph = new OperationGraph(new OrderOperationGraph()); IStackSet <INode> innerLeafs = operationGraph.GetLeafNodes().ToStackSet(); IStackSet <INode> traversedNodes = new StackSet <INode>(); foreach (var leaf in innerLeafs) { INodes predecessorNodesRecursive = operationGraph.GetPredecessorNodesRecursive(leaf); IStackSet <ProductionOrderOperation> newPredecessorNodes = new StackSet <ProductionOrderOperation>( predecessorNodesRecursive.Select(x => (ProductionOrderOperation)x.GetEntity())); ProductionOrderOperation lastOperation = (ProductionOrderOperation)leaf.GetEntity(); ValidatePredecessorOperationsTransitionTimeIsCorrect(newPredecessorNodes, lastOperation, operationGraph, traversedNodes); traversedNodes.Push(leaf); } int expectedTraversedOperationCount = new Stack <ProductionOrderOperation>( dbTransactionData.ProductionOrderOperationGetAll()).Count(); int actualTraversedOperationCount = traversedNodes.Count(); Assert.True(actualTraversedOperationCount.Equals(expectedTraversedOperationCount), $"expectedTraversedOperationCount {expectedTraversedOperationCount} " + $"doesn't equal actualTraversedOperationCount {actualTraversedOperationCount}'"); }