public void TestDoubleSelfTransition()
{
var m = new Marking(1, new Dictionary<int, int>
{
{ (int)Places.p1, 1 }
});
var p = new MatrixPetriNet("p",
new Dictionary<int, string> {
{(int)Places.p1, "p1"}
},
new Dictionary<int, string>
{
{ (int)Transitions.t1, "t1" },
{ (int)Transitions.t2, "t2" }
},
new Dictionary<int, List<InArc>>(){
{(int)Transitions.t1, new List<InArc>(){new InArc((int)Places.p1)}},
{(int)Transitions.t2, new List<InArc>(){new InArc((int)Places.p1)}}
},
new Dictionary<int, List<OutArc>>(){
{(int)Transitions.t1, new List<OutArc>(){new OutArc((int)Places.p1)}},
{(int)Transitions.t2, new List<OutArc>(){new OutArc((int)Places.p1)}}
});
Assert.AreEqual(1, m[(int)Places.p1]);
m = p.Fire(m);
Assert.AreEqual(1, m[(int)Places.p1]);
}