private void setNestedField(final Object group) throws Exception { final Object nestedGroup = getNestedGroup(group, 1); setInt(nestedGroup, "nestedField", 1); }
private void assertNestedRepeating(final Object group, final int groupField, final int nestedValue1, final int nestedValue2) throws Exception { assertEquals(groupField, getGroupField(group)); Object nestedGroup = getNestedGroup(group); assertEquals( heartbeat.getName() + "$EgGroupGroupDecoder$NestedGroupGroupDecoder", nestedGroup.getClass().getName()); final boolean expectingValue1 = nestedValue1 != CodecUtil.MISSING_INT; assertEquals(expectingValue1, get(nestedGroup, "hasNestedField")); if (expectingValue1) { assertEquals(nestedValue1, get(nestedGroup, "nestedField")); } nestedGroup = next(nestedGroup); final boolean expectingValue2 = nestedValue2 != CodecUtil.MISSING_INT; assertEquals(expectingValue2, get(nestedGroup, "hasNestedField")); if (expectingValue2) { assertEquals(nestedValue2, get(nestedGroup, "nestedField")); } }
@Test public void shouldDecodeNestedRepeatingGroups() throws Exception { final Decoder decoder = decodeHeartbeat(NESTED_GROUP_MESSAGE); assertEquals(1, getNoEgGroupGroupCounter(decoder)); final Object group = getEgGroup(decoder); assertEquals(1, getGroupField(group)); assertNull(next(group)); final Object nestedGroup = getNestedGroup(group); assertEquals( heartbeat.getName() + "$EgGroupGroupDecoder$NestedGroupGroupDecoder", nestedGroup.getClass().getName()); assertEquals(1, get(nestedGroup, "nestedField")); assertNull(next(nestedGroup)); assertValid(decoder); }
@Test public void shouldDecodeNestedRepeatingGroupsWithoutValidation() throws Exception { final Decoder decoder = decodeHeartbeatWithoutValidation(NESTED_GROUP_MESSAGE); assertEquals(1, getNoEgGroupGroupCounter(decoder)); final Object group = getEgGroup(decoder); assertEquals(1, getGroupField(group)); assertNull(next(group)); final Object nestedGroup = getNestedGroup(group); assertEquals( heartbeat.getName() + "$EgGroupGroupDecoder$NestedGroupGroupDecoder", nestedGroup.getClass().getName()); assertEquals(1, get(nestedGroup, "nestedField")); assertNull(next(nestedGroup)); assertValid(decoder); }