AbstractDMODataManagementStrategy extends AbstractDataManagementStrategy { protected String defineClassNameField(String modelFieldClassName, Map<String, String> superTypesMap) { if (SIMPLE_CLASSES_MAP.containsKey(modelFieldClassName)) { return SIMPLE_CLASSES_MAP.get(modelFieldClassName).getCanonicalName(); } if (ScenarioSimulationSharedUtils.isEnumCanonicalName(superTypesMap.get(modelFieldClassName))) { return getFQCNByFactName(modelFieldClassName); } return modelFieldClassName; }  @Override void populateTestTools(final TestToolsView.Presenter testToolsPresenter,
                                  final ScenarioSimulationContext context,
                                  final GridWidget gridWidget); FactModelTree getFactModelTree(String factName, Map<String, String> superTypeMap, ModelField[] modelFields); void populateGenericTypeMap(Map<String, List<String>> toPopulate, String factName, String propertyName, boolean isList); void aggregatorCallbackMethod(final TestToolsView.Presenter testToolsPresenter,
                                         final int expectedElements,
                                         final SortedMap<String, FactModelTree> factTypeFieldsMap,
                                         final ScenarioSimulationContext context,
                                         final FactModelTree result,
                                         final List<String> simpleJavaTypes,
                                         final GridWidget gridWidget); void populateFactModelTree(FactModelTree toPopulate, final SortedMap<String, FactModelTree> factTypeFieldsMap);  }
@Test public void defineClassNameField_SimpleType() { Map<String, String> superTypesMap = new HashMap<>(); String retrieved = abstractDMODataManagementStrategySpy.defineClassNameField(String.class.getSimpleName(), superTypesMap); assertEquals(String.class.getCanonicalName(), retrieved); }
@Test public void defineClassNameField_NotSimpleNotEnum() { Map<String, String> superTypesMap = new HashMap<>(); String retrieved = abstractDMODataManagementStrategySpy.defineClassNameField(TestProperties.CLASS_NAME, superTypesMap); assertEquals(TestProperties.CLASS_NAME, retrieved); }
@Test public void defineClassNameField_NotSimpleEnum() { Map<String, String> superTypesMap = new HashMap<>(); superTypesMap.put(TestProperties.CLASS_NAME, Enum.class.getCanonicalName()); String retrieved = abstractDMODataManagementStrategySpy.defineClassNameField(TestProperties.CLASS_NAME, superTypesMap); assertEquals(FULL_CLASS_NAME, retrieved); }