Exemple #1
0
        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.");
        }
Exemple #2
0
        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.");
        }
Exemple #3
0
        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.");
        }
Exemple #4
0
        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.");
        }
Exemple #5
0
        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}'");
        }