コード例 #1
0
        public void GetTransitionNullStringTest()
        {
            // Arrange
            PetriNet net = MakeExamplePetriNet();

            // Act and assert
            Assert.ThrowsException <ArgumentNullException>(() => net.GetTransition(null));
        }
コード例 #2
0
        public void GetTransitionEmptyStringTest()
        {
            // Arrange
            PetriNet net = MakeExamplePetriNet();

            // Act
            ITransition foundTransition = net.GetTransition("");

            // Assert
            Assert.IsNull(foundTransition);
        }
コード例 #3
0
        public void GetTransitionInvalidTest()
        {
            // Arrange
            PetriNet net = MakeExamplePetriNet();

            // Act
            ITransition foundTransition = net.GetTransition("invalid transition");

            // Assert
            Assert.IsNull(foundTransition);
        }
コード例 #4
0
        public void GetTransitionValidTest()
        {
            // Arrange
            IPlace      p1 = new Place("start place");
            IPlace      p2 = new Place("middle place");
            IPlace      p3 = new Place("end place");
            ITransition t1 = new Transition("t1", "start transition");
            ITransition t2 = new Transition("t2", "end transition");

            t1.InputPlaces.Add(p1);
            t1.OutputPlaces.Add(p2);
            t2.InputPlaces.Add(p2);
            t2.OutputPlaces.Add(p3);
            List <IPlace> places = new List <IPlace>()
            {
                p1, p2, p3
            };
            List <ITransition> transitions = new List <ITransition>()
            {
                t1, t2
            };

            PetriNet net = new PetriNet(transitions, places, p1, p3);

            // Act
            ITransition foundTransition = net.GetTransition("end transition");

            // Assert
            Assert.AreEqual(t2.Id, foundTransition.Id);
            Assert.AreEqual(t2.Activity, foundTransition.Activity);
            Assert.AreEqual(t2.InputPlaces.Count, foundTransition.InputPlaces.Count);
            Assert.AreEqual(t2.OutputPlaces.Count, foundTransition.OutputPlaces.Count);
            for (int i = 0; i < t2.InputPlaces.Count; i++)
            {
                Assert.AreEqual(t2.InputPlaces[i].Id, foundTransition.InputPlaces[i].Id);
            }
            for (int i = 0; i < t2.OutputPlaces.Count; i++)
            {
                Assert.AreEqual(t2.OutputPlaces[i].Id, foundTransition.OutputPlaces[i].Id);
            }
        }