final LearnerGraph graph = FsmParser.buildLearnerGraph("A-a->D-b->C / A-c->B-b->C / B-u->E / T-b->T-u->T","testCheckFanoutInconsistency4",config, converter);
Configuration shallowCopy = graph.config.copy();shallowCopy.setLearnerCloneGraph(false);
LearnerGraphND Inverse_Graph = new LearnerGraphND(shallowCopy);
AbstractPathRoutines.buildInverse(graph,LearnerGraphND.ignoreNone,Inverse_Graph); // do the inverse to the tentative graph
Assert.assertEquals(0,m.checkFanoutInconsistency(Inverse_Graph,true,graph,graph.findVertex("B"),m.getChunkLen(), new MarkovUniversalLearner.DifferentPredictionsInconsistency()));// everything as expected.
Assert.assertEquals(0,m.checkFanoutInconsistency(Inverse_Graph,true,graph,graph.findVertex("D"),m.getChunkLen(), new MarkovUniversalLearner.DifferentPredictionsInconsistency()));// missing reject-transition with label u is ignored because we are only considering actual outgoing transitions
}
@Test
public void testMarkovUpdate1()