@Test
public void testCheckFanoutInconsistencySideways2()
{
final LearnerGraph graph = FsmParser.buildLearnerGraph("A-a->B-b->C / B-u-#D / A-c->E-u->F / E-c->G","testUpdateMarkovSideways3",config, converter);
MarkovModel m = new MarkovModel(2,false,true);
new MarkovClassifier(m,graph).updateMarkov(false);
Assert.assertEquals(9+graph.getCache().getAlphabet().size(),m.computePredictionMatrix().size());
final LearnerGraph graph2 = FsmParser.buildLearnerGraph("A-a->B-a->B-b->B","testCheckFanoutInconsistencySideways2",config, converter);
graph2.transitionMatrix.get(graph2.getInit()).clear();// make it look like a graph has no transitions
Assert.assertEquals(0,new MarkovClassifier(m, graph2).checkFanoutInconsistency(graph2.getInit(), new MarkovClassifier.ConsistencyChecker(){
@SuppressWarnings("unused")
@Override
public boolean consistent(MarkovOutcome actual,MarkovOutcome predicted) {
Assert.fail("should not be called");