public void TestDrainTransition()
{
var m = new Marking(1, new Dictionary<int, int>
{
{ 0, 5 }
});
var p = new MatrixPetriNet("p",
new Dictionary<int, string> {
{0, "p0"}
},
new Dictionary<int, string>
{
{ 0, "Ti" }
},
new Dictionary<int, List<InArc>>() {
{0, new List<InArc>(){new InArc(0)}}
},
new Dictionary<int, List<OutArc>>() { });
for (int i = 5; i >= 0; i--)
{
Assert.AreEqual(i, m[0]);
Assert.AreEqual(i > 0, p.IsEnabled(0, m));
m = p.Fire(m);
}
}