@Test
  public void testSimpleObject() {
    Collection<EPackage> inputPackages = new ArrayList<EPackage>();
    inputPackages.add(metamodelPackage);
    Collection<EClass> mainClasses = new ArrayList<EClass>();
    mainClasses.add(getNetClass());
    ConfigurationGenerator generator = new ConfigurationGenerator(inputPackages, mainClasses);
    Collection<EPackage> configurationPackages = generator.generateConfigurationPackages();
    assertEquals(1, configurationPackages.size());
    testConfigurationPackage(configurationPackages.iterator().next());

    Collection<EObject> originalObjects = new ArrayList<EObject>();
    originalObjects.add(netObject);
    ConfigurationObjectMap map = new ConfigurationObjectMap(originalObjects, configurationPackages);
    EObject confNetObject = map.getConfigurationObject(netObject);
    assertNotNull(confNetObject);
    assertEquals(confNetObject, map.getConfigurationObject(map.getOriginalObject(confNetObject)));

    testReferenceValues(map, confNetObject);
    testAttributeValues(map, confNetObject);
  }
  private void testReferenceValues(ConfigurationObjectMap map, EObject confNetObject) {
    EList<?> placesValue = (EList<?>) confNetObject.eGet(getPlacesReference(getNetClass()));
    assertEquals(2, placesValue.size());

    EList<?> transitionsValue =
        (EList<?>) confNetObject.eGet(getTransitionsReference(getNetClass()));
    assertEquals(1, transitionsValue.size());

    EObject confTransition = (EObject) transitionsValue.get(0);

    assertEquals(confTransition, map.getConfigurationObject(transitionObject));
    assertEquals(
        transitionObject, map.getOriginalObject(map.getConfigurationObject(transitionObject)));

    EList<?> incomingValue =
        (EList<?>) confTransition.eGet(getIncomingReference(getTransitionClass()));
    EList<?> outgoingValue =
        (EList<?>) confTransition.eGet(getOutgoingReference(getTransitionClass()));
    assertEquals(1, incomingValue.size());
    assertEquals(1, outgoingValue.size());
    assertEquals(place1Object, map.getOriginalObject((EObject) incomingValue.get(0)));
    assertEquals(place2Object, map.getOriginalObject((EObject) outgoingValue.get(0)));
  }