private Pn.Place AssertEmptyPetriNet(Pn.PetriNet pn) { Assert.AreSame(pn, this.pn); Assert.AreEqual(0, pn.Places.Count); Assert.AreEqual(0, pn.Transitions.Count); return(null); }
private Pn.Place AssertFsmLikePetriNet(Pn.PetriNet pn, ISynchronizationContext context, Fsm.State s1) { Assert.AreSame(pn, this.pn); Assert.AreEqual(3, pn.Places.Count); Assert.AreEqual(5, pn.Transitions.Count); var s1Place = context.Trace.ResolveIn(fsm2pn.SynchronizationRule <FSM2PN.StateToPlace>().LeftToRight, s1); Assert.IsNotNull(s1Place); Assert.AreEqual(2, s1Place.Outgoing.Count); Assert.AreEqual(2, s1Place.Incoming.Count); Assert.AreEqual("s1", s1Place.Id); return(s1Place); }
private Pn.Place AssertOriginalPetriNet(Pn.PetriNet pn, ISynchronizationContext context, Fsm.State s1) { Assert.AreSame(pn, this.pn); Assert.AreEqual(3, pn.Places.Count); Assert.AreEqual(2, pn.Transitions.Count); var place = pn.Places.FirstOrDefault(p => p.Id == "s1"); Assert.IsNotNull(place); Assert.AreEqual(2, place.Outgoing.Count); Assert.AreEqual(0, place.Incoming.Count); if (s1 != null) { Assert.AreSame(place, context.Trace.ResolveIn(fsm2pn.SynchronizationRule <FSM2PN.StateToPlace>().LeftToRight, s1)); } return(place); }