### Question:
RecordImpl implements Record { @Override public RecordList getList(final String fieldName) { return (RecordList) getValue(fieldName, DataType.LIST); } RecordImpl(final String name, final Structure structure, final Record parent);   RecordImpl(final String name, final Structure structure, final Record parent,
            final RecordListImplFactory fixedListFactory, final DynamicRecordListImplFactory varListFactory,
            final RecordImplFactory recordFactory); @Override String getDeclaration(); @Override DynamicRecordList getDynamicList(final String fieldName); @Override short getI2(final String fieldName); @Override boolean getI2Boolean(final String fieldName); @Override int getI4(final String fieldName); @Override String getChar(final String fieldName); @Override Date getDQ8(final String fieldName); @Override double getF8(final String fieldName); @Override RecordList getList(final String fieldName); @Override String getName(); @Override int getNestedLevel(); @Override Record getRecord(final String fieldName); @Override Structure getStructure(); @Override DataType getType(final String fieldName); @Override String getVC(final String fieldName); @Override boolean hasMember(final String fieldName); @Override boolean isRoot(); @Override void setChar(final String fieldName, final String value); @Override void setDQ8(final String fieldName, final Date value); @Override void setI2(final String fieldName, final short value); @Override void setI2(final String fieldName, final boolean value); @Override void setI4(final String fieldName, final int value); @Override void setF8(final String fieldName, final double value); @Override void setVC(final String fieldName, final String value); @Override String toString();  }### Answer:
@Test public void testGetList() { final Structure listStructure = mockStructure(); final Field listField = mock(Field.class); when(listField.getName()).thenReturn("LIST"); when(listField.getType()).thenReturn(DataType.LIST); when(listField.getStructure()).thenReturn(listStructure); final RecordList recordList = mock(RecordList.class); final Answer<RecordList> factoryAnswer = new Answer<RecordList>() { @Override public RecordList answer(final InvocationOnMock invocation) throws Throwable { return recordList; } }; final RecordListImplFactory factory = mock(RecordListImplFactory.class, factoryAnswer); final Structure recordStructure = mockStructure(listField); final RecordImpl record = new RecordImpl(ROOT_NAME, recordStructure, null, factory, VAR_LIST_FACTORY, RECORD_FACTORY); assertThat(record.getList(listField.getName())).isSameAs(recordList.iterator()); final RecordList rl = record.getList(listField.getName()); assertThat(rl).isSameAs(recordList.iterator()); }