@Test
public void checkFieldCreationAndSimpleGetter()
        throws Exception {

    IObject rule = mock(IObject.class);
    IObject env = mock(IObject.class);
    IObject message = mock(IObject.class);
    IObject submessage = mock(IObject.class);
    when(env.getValue(new FieldName("message"))).thenReturn(message);
    when(message.getValue(new FieldName("submessage"))).thenReturn(submessage);
    when(submessage.getValue(new FieldName("intValue"))).thenReturn("1");
    when(rule.getValue(new FieldName("name"))).thenReturn("wds_getter_strategy");
    when(rule.getValue(new FieldName("args"))).thenReturn(new ArrayList<String>(){{add("message/submessage/intValue");}});
    IField field = new WDSObjectField(new ArrayList<IObject>(){{add(rule);}});
    assertNotNull(field);
    assertEquals(field.in(env), "1");
}