@Test
public void testProductionNode2_Expression() {
ProductionNode productionNode =
root.getCompilerNode().getParserSpecNode().getProductionNodes().get(2);
ExpressionNode expressionNode = productionNode.getExpressionNode();
checkExpressionNode(expressionNode, 1098, 76, productionNode, 3);
//t0
TermNode t0 = expressionNode.getTermNodes().get(0);
checkTermNode(t0, 1098, 39, expressionNode, 3, true);
//t0_resolv
ResolverNode t0_resolv = t0.getResolverNode();
checkNode(t0_resolv, 1098, 21, t0);
//t0_f0
FactorNode t0_f0 = t0.getFactorNodes().get(0);
checkFactorNode(t0_f0, 1120, 5, t0, FactorNode.Kind.SYMBOL);
//t0_f0_sym
SymbolNode t0_f0_sym = t0_f0.getSymbolNode();
checkSymbolNode(t0_f0_sym, 1120, 5, t0_f0, SymbolNode.Kind.IDENT);
//t0_f0_sym_ident
IdentNode t0_f0_sym_ident = t0_f0_sym.getIdentNode();
checkIdentNode(t0_f0_sym_ident, 1120, 5, t0_f0_sym, IdentNode.Kind.TOKEN, "ident");
//t0_f1
FactorNode t0_f1 = t0.getFactorNodes().get(1);
checkFactorNode(t0_f1, 1126, 4, t0, FactorNode.Kind.SYMBOL);
//t0_f1_sym
SymbolNode t0_f1_sym = t0_f1.getSymbolNode();
checkSymbolNode(t0_f1_sym, 1126, 4, t0_f1, SymbolNode.Kind.STRING, "==");
//t0_f2
FactorNode t0_f2 = t0.getFactorNodes().get(2);
checkFactorNode(t0_f2, 1131, 6, t0, FactorNode.Kind.SYMBOL);
//t0_f2_sym
SymbolNode t0_f2_sym = t0_f2.getSymbolNode();
checkSymbolNode(t0_f2_sym, 1131, 6, t0_f2, SymbolNode.Kind.IDENT);
//t0_f2_sym_ident
IdentNode t0_f2_sym_ident = t0_f2_sym.getIdentNode();
checkIdentNode(t0_f2_sym_ident, 1131, 6, t0_f2_sym, IdentNode.Kind.TOKEN, "number");
//t1
TermNode t1 = expressionNode.getTermNodes().get(1);
//t1_f0
FactorNode t1_f0 = t1.getFactorNodes().get(0);
checkFactorNode(t1_f0, 1142, 5, t1, FactorNode.Kind.SYMBOL);
//t1_f0_sym
SymbolNode t1_f0_sym = t1_f0.getSymbolNode();
checkSymbolNode(t1_f0_sym, 1142, 5, t1_f0, SymbolNode.Kind.IDENT);
//t1_f0_sym_ident
IdentNode t1_f0_sym_ident = t1_f0_sym.getIdentNode();
checkIdentNode(t1_f0_sym_ident, 1142, 5, t1_f0_sym, IdentNode.Kind.TOKEN, "ident");
//t1_f1
FactorNode t1_f1 = t1.getFactorNodes().get(1);
checkFactorNode(t1_f1, 1148, 4, t1, FactorNode.Kind.SYMBOL);
//t1_f1_sym
SymbolNode t1_f1_sym = t1_f1.getSymbolNode();
checkSymbolNode(t1_f1_sym, 1148, 4, t1_f1, SymbolNode.Kind.STRING, "==");
//t1_f2
FactorNode t1_f2 = t1.getFactorNodes().get(2);
checkFactorNode(t1_f2, 1153, 5, t1, FactorNode.Kind.SYMBOL);
//t1_f2_sym
SymbolNode t1_f2_sym = t1_f2.getSymbolNode();
checkSymbolNode(t1_f2_sym, 1153, 5, t1_f2, SymbolNode.Kind.IDENT);
//t1_f2_sym_ident
IdentNode t1_f2_sym_ident = t1_f2_sym.getIdentNode();
checkIdentNode(t1_f2_sym_ident, 1153, 5, t1_f2_sym, IdentNode.Kind.TOKEN, "ident");
//t2
TermNode t2 = expressionNode.getTermNodes().get(2);
checkTermNode(t2, 1163, 11, expressionNode, 1);
//t2_f0
FactorNode t2_f0 = t2.getFactorNodes().get(0);
checkFactorNode(t2_f0, 1163, 11, t2, FactorNode.Kind.SYMBOL, false, true);