@Test
public void getFieldFullyQualifiedClassNameTest() {

    ModuleDataModelOracle mockedDMO = mock(ModuleDataModelOracle.class);
    Map<String, ModelField[]> moduleModelFields = new HashMap<>();
    // non-existent field for unknown class
    when(mockedDMO.getModuleModelFields()).thenReturn(moduleModelFields);
    String fullyQualifiedClassName = this.getClass().getName();
    String fieldName = "nonExistentField";
    String fqnFieldClassName = getFieldFullyQualifiedClassName(mockedDMO, fullyQualifiedClassName, fieldName);
    assertNull("Expected a null FQN field class name", fqnFieldClassName);
    // non-existent field for known class
    moduleModelFields.put(fullyQualifiedClassName, new ModelField[]{
            new ModelField("existentField",
                           String.class.getName(),
                           FIELD_CLASS_TYPE.REGULAR_CLASS,
                           FIELD_ORIGIN.DECLARED,
                           FieldAccessorsAndMutators.ACCESSOR,
                           null)// forgot what goes in here?
    });
    when(mockedDMO.getModuleModelFields()).thenReturn(moduleModelFields);
    fqnFieldClassName = getFieldFullyQualifiedClassName(mockedDMO, fullyQualifiedClassName, fieldName);
    assertNull("Expected a null FQN field class name", fqnFieldClassName);
    // existent field for known class
    fieldName = "testField";
    String fieldType = "org.acme.test.field.type";
    moduleModelFields.put(fullyQualifiedClassName, new ModelField[]{
            new ModelField("existentField",
                           String.class.getName(),
                           FIELD_CLASS_TYPE.REGULAR_CLASS,
                           FIELD_ORIGIN.DECLARED,
                           FieldAccessorsAndMutators.ACCESSOR,
                           null),// forgot what goes in here?
            new ModelField(fieldName,
                           fieldType,
                           FIELD_CLASS_TYPE.REGULAR_CLASS,
                           FIELD_ORIGIN.DECLARED,
                           FieldAccessorsAndMutators.ACCESSOR,
                           null) // forgot what goes in here?
    });
    when(mockedDMO.getModuleModelFields()).thenReturn(moduleModelFields);
    fqnFieldClassName = getFieldFullyQualifiedClassName(mockedDMO, fullyQualifiedClassName, fieldName);
    assertEquals("Expected a null FQN field class name", fieldType, fqnFieldClassName);
}