Пример #1
0
        public void MergeWithPetriNetTest()
        {
            Model.PetriNet.PetriNet testNet1 = new Model.PetriNet.PetriNet("TestNet");
            Place      start1 = testNet1.AddPlace("Start");
            Place      end1   = testNet1.AddPlace("End");
            Transition trans1 = testNet1.AddTransition("Trans1", incomingPlace: start1, outgoingPlace: end1);

            Model.PetriNet.PetriNet testNet2 = new Model.PetriNet.PetriNet("TestNet");
            Place      start2 = testNet2.AddPlace("Start");
            Place      end2   = testNet2.AddPlace("End");
            Transition trans2 = testNet2.AddTransition("Trans2", incomingPlace: start2, outgoingPlace: end2);

            testNet1.MergeWithPetriNet(testNet2, trans1);

            Assert.AreEqual(4, testNet1.Places.Count);
            Assert.AreEqual(2, testNet1.Transitions.Count);
            Assert.AreEqual(2, trans1.OutgoingPlaces.Count);
            Assert.AreEqual(trans2, trans1.OutgoingPlaces[1].OutgoingTransitions[0]);
        }
        public void MergeWithPetriNetTest()
        {
            Model.PetriNet.PetriNet testNet1 = new Model.PetriNet.PetriNet("TestNet");
            Place start1 = testNet1.AddPlace("Start");
            Place end1 = testNet1.AddPlace("End");
            Transition trans1 = testNet1.AddTransition("Trans1", incomingPlace: start1, outgoingPlace: end1);

            Model.PetriNet.PetriNet testNet2 = new Model.PetriNet.PetriNet("TestNet");
            Place start2 = testNet2.AddPlace("Start");
            Place end2 = testNet2.AddPlace("End");
            Transition trans2 = testNet2.AddTransition("Trans2", incomingPlace: start2, outgoingPlace: end2);

            testNet1.MergeWithPetriNet(testNet2, trans1);

            Assert.AreEqual(4, testNet1.Places.Count);
            Assert.AreEqual(2, testNet1.Transitions.Count);
            Assert.AreEqual(2, trans1.OutgoingPlaces.Count);
            Assert.AreEqual(trans2, trans1.OutgoingPlaces[1].OutgoingTransitions[0]);
        }