@Test
public final void testCountMatchingOutgoing3a()
{
LearnerGraph gr=new LearnerGraph(FsmParser.buildGraph("A-a-#B\nA-b->B1\nA-c->C\nQ-a->R-a->R\nQ-b->S", "testCountMatchingOutgoing3a"), Configuration.getDefaultConfiguration());
GDLearnerGraph ndGraph = new GDLearnerGraph(gr,LearnerGraphND.ignoreRejectStates, false);
DetermineDiagonalAndRightHandSide matcher = ndGraph.new DDRH_default();
getMatcherValue(gr,ndGraph,ndGraph.matrixForward, matcher ,"A","Q");
// A and Q have 3 outgoing transitions, 2 are matched.
// target pair B1-S has a score of 0, B-R has a score of -1.
Assert.assertEquals(2,matcher.getRightHandSide(),Configuration.fpAccuracy);
Assert.assertEquals(3*2,matcher.getDiagonal(),Configuration.fpAccuracy);
getMatcherValue(gr,ndGraph,ndGraph.matrixForward, matcher ,"B","R");
Assert.assertEquals(PAIR_INCOMPATIBLE,matcher.getRightHandSide(),Configuration.fpAccuracy);
Assert.assertEquals(1*2,matcher.getDiagonal(),Configuration.fpAccuracy);
}