public void CreateDependencyGraphTest() { var field = new Field { EventLog = EventLogExample.ThreeCaseEventLog() }; var miner = new HeuristicMiner(field); var event1 = new Event("A"); var event2 = new Event("B"); var event3 = new Event("C"); var eventList = new List <Event> { event1, event2, event3 }; var matrix = new[, ] { { 0.0, 0.8, 0.0 }, { 0.0, 0.0, 0.8 }, { 0.0, 0.0, 0.0 } }; var actual = miner.CreateDependencyGraph(eventList, matrix, 0.5, 0.0, 0, 10); var expected = new EventNode(event1, 0.8, new List <EventNode> { new EventNode(event2, 0.8, new List <EventNode> { new EventNode(event3, 0.8) }) }); Assert.AreEqual(expected.InnerEvent, actual.InnerEvent); Assert.AreEqual(expected.ListOfFollowers[0].InnerEvent, actual.ListOfFollowers[0].InnerEvent); Assert.AreEqual(expected.ListOfFollowers[0].ListOfFollowers[0].InnerEvent, actual.ListOfFollowers[0].ListOfFollowers[0].InnerEvent); }
public void GetAdjacencyTest() { var field = new Field { EventLog = EventLogExample.ThreeCaseEventLog() }; var miner = new HeuristicMiner(field); var event1 = new Event("A"); var event2 = new Event("B"); var actual = miner.GetAdjacency(event1, event2, field.EventLog); Assert.AreEqual(0.5, actual); }
public void CalculateStandardDeviationTest() { var field = new Field { EventLog = EventLogExample.ThreeCaseEventLog() }; var miner = new HeuristicMiner(field); var values = new List <double> { 0.2, 0.4, 0.6, 0.8 }; var actual = miner.CalculateStandardDeviation(values); Assert.AreEqual(0.258, actual); }
public void MineTest1() { MinerSettings.AddOrUpdateKey("AdjacencyThresholdSlider", 51); MinerSettings.AddOrUpdateKey("MaximumRecursionDepthSlider", 10); var field = new Field { EventLog = EventLogExample.ThreeCaseEventLog() }; var miner = new HeuristicMiner(field); PetriNet actual = (PetriNet)miner.Mine(); Assert.AreEqual(1, actual.Transitions.Count); Assert.AreEqual("A", actual.Transitions[0].Name); Assert.AreEqual(2, actual.Places.Count); Assert.AreEqual("End", actual.Places[1].Name); }
public void CreateAdjacencyMatrixTest() { var field = new Field { EventLog = EventLogExample.ThreeCaseEventLog() }; var miner = new HeuristicMiner(field); var actual = miner.CreateAdjacencyMatrix(field); var expected = new[, ] { { 0.0, 0.5, 0.5, 0.0, 0.5 }, { -0.5, 0.0, 0.0, 0.5, 0.0 }, { -0.5, 0.0, 0.0, 0.5, 0.0 }, { 0.0, -0.5, -0.5, 0.0, -0.5 }, { -0.5, 0.0, 0.0, 0.5, 0.0 } }; for (var i = 0; i < 5; i++) { for (var j = 0; j < 5; j++) { Assert.AreEqual(expected[i, j], actual[i, j]); } } }