public void ComparingFootprintFromPetriNetTest1()
        {
            ComparingFootprint footprintResult = ComparingFootprintAlgorithm.CreateFootprint(PetriNetExample.PetriNetWithFivePlacesAndFourTransitions());

            CellType[,] resultMatrix = footprintResult.ResultMatrix;

            List <String> headerNames = footprintResult.HeaderWithEventNames;

            if (headerNames.Count != 4)
            {
                Assert.Fail();
            }

            int y = 0;

            foreach (String hNameY in headerNames)
            {
                int x = 0;
                foreach (String hNameX in headerNames)
                {
                    if (hNameY.Equals("TransitionA") && hNameX.Equals("TransitionA"))
                    {
                        if (!resultMatrix[y, x].Equals(CellType.Nothing))
                        {
                            Assert.Fail();
                        }
                    }
                    else if (hNameY.Equals("TransitionA") && hNameX.Equals("TransitionB"))
                    {
                        if (!resultMatrix[y, x].Equals(CellType.Right))
                        {
                            Assert.Fail();
                        }
                    }
                    else if (hNameY.Equals("TransitionA") && hNameX.Equals("TransitionC"))
                    {
                        if (!resultMatrix[y, x].Equals(CellType.Nothing))
                        {
                            Assert.Fail();
                        }
                    }
                    else if (hNameY.Equals("TransitionA") && hNameX.Equals("TransitionD"))
                    {
                        if (!resultMatrix[y, x].Equals(CellType.Nothing))
                        {
                            Assert.Fail();
                        }
                    }
                    else if (hNameY.Equals("TransitionB") && hNameX.Equals("TransitionA"))
                    {
                        if (!resultMatrix[y, x].Equals(CellType.Left))
                        {
                            Assert.Fail();
                        }
                    }
                    else if (hNameY.Equals("TransitionB") && hNameX.Equals("TransitionB"))
                    {
                        if (!resultMatrix[y, x].Equals(CellType.Nothing))
                        {
                            Assert.Fail();
                        }
                    }
                    else if (hNameY.Equals("TransitionB") && hNameX.Equals("TransitionC"))
                    {
                        if (!resultMatrix[y, x].Equals(CellType.Right))
                        {
                            Assert.Fail();
                        }
                    }
                    else if (hNameY.Equals("TransitionB") && hNameX.Equals("TransitionD"))
                    {
                        if (!resultMatrix[y, x].Equals(CellType.Nothing))
                        {
                            Assert.Fail();
                        }
                    }
                    else if (hNameY.Equals("TransitionC") && hNameX.Equals("TransitionA"))
                    {
                        if (!resultMatrix[y, x].Equals(CellType.Nothing))
                        {
                            Assert.Fail();
                        }
                    }
                    else if (hNameY.Equals("TransitionC") && hNameX.Equals("TransitionB"))
                    {
                        if (!resultMatrix[y, x].Equals(CellType.Left))
                        {
                            Assert.Fail();
                        }
                    }
                    else if (hNameY.Equals("TransitionC") && hNameX.Equals("TransitionC"))
                    {
                        if (!resultMatrix[y, x].Equals(CellType.Nothing))
                        {
                            Assert.Fail();
                        }
                    }
                    else if (hNameY.Equals("TransitionC") && hNameX.Equals("TransitionD"))
                    {
                        if (!resultMatrix[y, x].Equals(CellType.Right))
                        {
                            Assert.Fail();
                        }
                    }
                    else if (hNameY.Equals("TransitionD") && hNameX.Equals("TransitionA"))
                    {
                        if (!resultMatrix[y, x].Equals(CellType.Nothing))
                        {
                            Assert.Fail();
                        }
                    }
                    else if (hNameY.Equals("TransitionD") && hNameX.Equals("TransitionB"))
                    {
                        if (!resultMatrix[y, x].Equals(CellType.Nothing))
                        {
                            Assert.Fail();
                        }
                    }
                    else if (hNameY.Equals("TransitionD") && hNameX.Equals("TransitionC"))
                    {
                        if (!resultMatrix[y, x].Equals(CellType.Left))
                        {
                            Assert.Fail();
                        }
                    }
                    else if (hNameY.Equals("TransitionD") && hNameX.Equals("TransitionD"))
                    {
                        if (!resultMatrix[y, x].Equals(CellType.Nothing))
                        {
                            Assert.Fail();
                        }
                    }
                    else
                    {
                        Assert.Fail("HNameY:" + hNameY + " HNameX:" + hNameX + " ResultMatrix[" + y + ", " + x + "]:" + resultMatrix[y, x]);
                    }
                    x++;
                }
                y++;
            }
        }
        public void ComparingFootprintHeaderNamesFromPetriNetTest1()
        {
            ComparingFootprint footprintResult = ComparingFootprintAlgorithm.CreateFootprint(PetriNetExample.PetriNetWithFivePlacesAndFourTransitions());

            List <String> headerNames = footprintResult.HeaderWithEventNames;

            if (headerNames.Count != 4)
            {
                Assert.Fail();
            }

            int index = 0;

            foreach (String hName in headerNames)
            {
                if (!hName.Equals("TransitionA") && index == 0)
                {
                    Assert.Fail();
                }

                if (!hName.Equals("TransitionB") && index == 1)
                {
                    Assert.Fail();
                }

                if (!hName.Equals("TransitionC") && index == 2)
                {
                    Assert.Fail();
                }

                if (!hName.Equals("TransitionD") && index == 3)
                {
                    Assert.Fail();
                }
                index++;
            }
        }