RuleModel m = RuleModelDRLPersistenceImpl.getInstance().unmarshal( drl,
Collections.EMPTY_LIST,
dmo );
assertTrue( m.rhs[ 0 ] instanceof ActionCallMethod );
ActionCallMethod mc = (ActionCallMethod) m.rhs[ 0 ];
assertEquals( "put", mc.getMethodName() );
assertEquals( "m", mc.getVariable() );
assertEquals( 1, mc.getState() );
assertEquals( 2, mc.getFieldValues().length );
ActionFieldValue f1 = mc.getFieldValue( 0 );
assertEquals( "\"key\"", f1.getValue() );
assertEquals( "java.lang.Object", f1.getType() );
assertEquals( FieldNatureType.TYPE_LITERAL, f1.getNature() );
ActionFieldValue f2 = mc.getFieldValue( 1 );
assertEquals( "a", f2.getValue() );
assertEquals( "java.lang.Object", f2.getType() );
assertEquals( FieldNatureType.TYPE_VARIABLE, f2.getNature() );
String marshalled = RuleModelDRLPersistenceImpl.getInstance().marshal( m );