public void AddLoopTestGivenTransitionHardTest() { Model.PetriNet.PetriNet testNet = new Model.PetriNet.PetriNet("TestNet"); Place start = testNet.AddPlace("Start"); Place midLeft1 = testNet.AddPlace("MidLeft1"); Place midLeft2 = testNet.AddPlace("MidLeft2"); Place midLeft3 = testNet.AddPlace("MidLeft3"); Place midRight1 = testNet.AddPlace("MidRight1"); Place midRight2 = testNet.AddPlace("MidRight2"); Place midRight3 = testNet.AddPlace("MidRight3"); Place end = testNet.AddPlace("End"); testNet.AddTransition("Left", incomingPlace: start, outgoingPlaces: new List <Place> { midLeft1, midLeft2, midLeft3 }); Transition testTransition = testNet.AddTransition("TestTransition", new List <Place> { midLeft1, midLeft2, midLeft3 }, new List <Place> { midRight1, midRight2, midRight3 }); testNet.AddTransition("Right", new List <Place> { midRight1, midRight2, midRight3 }, outgoingPlace: end); testNet.AddLoop(transition: testTransition); Assert.AreEqual(6, testNet.Transitions.Count); Assert.AreEqual(10, testNet.Places.Count); Assert.IsTrue(testNet.Transitions[3].IsLoop); Assert.AreEqual(testTransition, midLeft1.OutgoingTransitions[0].OutgoingPlaces[0].OutgoingTransitions[0]); }
public void AddLoopTestNoParameter() { Model.PetriNet.PetriNet testNet = new Model.PetriNet.PetriNet("TestNet"); testNet.AddLoop(); Assert.AreEqual(0, testNet.Transitions.Count); Assert.AreEqual(0, testNet.Places.Count); }
public void AddLoopTestGivenNameEasyTest() { Model.PetriNet.PetriNet testNet = new Model.PetriNet.PetriNet("TestNet"); Place start = testNet.AddPlace("Start"); Place end = testNet.AddPlace("End"); testNet.AddTransition("TestTransition", incomingPlace: start, outgoingPlace: end); testNet.AddLoop("TestTransition"); Assert.AreEqual(2, testNet.Transitions.Count); Assert.AreEqual(2, testNet.Places.Count); Assert.IsTrue(testNet.Transitions[1].IsLoop); }
public void AddLoopTestGivenTransitionHardTest() { Model.PetriNet.PetriNet testNet = new Model.PetriNet.PetriNet("TestNet"); Place start = testNet.AddPlace("Start"); Place midLeft1 = testNet.AddPlace("MidLeft1"); Place midLeft2 = testNet.AddPlace("MidLeft2"); Place midLeft3 = testNet.AddPlace("MidLeft3"); Place midRight1 = testNet.AddPlace("MidRight1"); Place midRight2 = testNet.AddPlace("MidRight2"); Place midRight3 = testNet.AddPlace("MidRight3"); Place end = testNet.AddPlace("End"); testNet.AddTransition("Left", incomingPlace: start, outgoingPlaces: new List<Place> { midLeft1, midLeft2, midLeft3 }); Transition testTransition = testNet.AddTransition("TestTransition", new List<Place> { midLeft1, midLeft2, midLeft3 }, new List<Place> { midRight1, midRight2, midRight3 }); testNet.AddTransition("Right", new List<Place> { midRight1, midRight2, midRight3 }, outgoingPlace: end); testNet.AddLoop(transition: testTransition); Assert.AreEqual(6, testNet.Transitions.Count); Assert.AreEqual(10, testNet.Places.Count); Assert.IsTrue(testNet.Transitions[3].IsLoop); Assert.AreEqual(testTransition, midLeft1.OutgoingTransitions[0].OutgoingPlaces[0].OutgoingTransitions[0]); }