Exemple #1
0
  @Test
  public void testIdMapRemove() {
    XMLPersistenceMappingResource resource = new NodesResourceImpl();

    String nodeName = "root";
    String subNodeName = "subNode";
    Node node = NodesFactory.eINSTANCE.createNode();
    node.setName(nodeName);
    Node subNode = NodesFactory.eINSTANCE.createNode();
    subNode.setName(subNodeName);
    node.getEReference_Contained0100Many().add(subNode);

    assertNull(resource.getEObject(nodeName));
    assertNull(resource.getID(node));
    assertNull(resource.getEObject(subNodeName));
    assertNull(resource.getID(subNode));

    resource.getContents().add(node);
    assertSame(node, resource.getEObject(nodeName));
    assertSame(nodeName, resource.getID(node));
    assertSame(subNode, resource.getEObject(subNodeName));
    assertSame(subNodeName, resource.getID(subNode));

    node.getEReference_Contained0100Many().remove(subNode);
    assertSame(node, resource.getEObject(nodeName));
    assertSame(nodeName, resource.getID(node));
    assertNull(resource.getEObject(subNodeName));
    assertNull(resource.getID(subNode));

    resource.getContents().remove(node);
    assertNull(resource.getEObject(nodeName));
    assertNull(resource.getID(node));
    assertNull(resource.getEObject(subNodeName));
    assertNull(resource.getID(subNode));
  }
Exemple #2
0
  @Test
  public void testAddNewElementToEmptyResource() {
    XMLPersistenceMappingResource resource = new NodesResourceImpl();
    Node node = NodesFactory.eINSTANCE.createNode();
    Node subNode = NodesFactory.eINSTANCE.createNode();
    node.getEReference_Contained0100Many().add(subNode);
    assertFalse(node.eIsSet(NodesPackage.eINSTANCE.getNode_Name()));
    assertFalse(subNode.eIsSet(NodesPackage.eINSTANCE.getNode_Name()));

    resource.getContents().add(node);
    assertTrue(node.eIsSet(NodesPackage.eINSTANCE.getNode_Name()));
    assertTrue(subNode.eIsSet(NodesPackage.eINSTANCE.getNode_Name()));
  }
Exemple #3
0
  @Test
  public void testIdForNewObjectsAfterLoad1() {
    String inputFileName = INPUT_PATH + "minimal.xml";
    try {
      EObject modelRoot = loadInputFile(inputFileName, new NodesResourceFactoryImpl(), null);
      assertTrue(modelRoot instanceof Node);
      Node rootNode = (Node) modelRoot;
      assertTrue(rootNode.eIsSet(NodesPackage.eINSTANCE.getNode_Name()));
      assertSame(1, ((XMLResource) modelRoot.eResource()).getEObjectToIDMap().size());

      // test set
      Node subNode = NodesFactory.eINSTANCE.createNode();
      rootNode.setEReference_Contained0100Single(subNode);
      assertTrue(subNode.eIsSet(NodesPackage.eINSTANCE.getNode_Name()));
      assertSame(2, ((XMLResource) modelRoot.eResource()).getEObjectToIDMap().size());

      // test add single
      rootNode.getEReference_Contained1100Many().add(NodesFactory.eINSTANCE.createNode());
      assertTrue(5 < rootNode.getEReference_Contained1100Many().get(0).getName().length());
      assertSame(3, ((XMLResource) modelRoot.eResource()).getEObjectToIDMap().size());

      // test add many
      List<Node> newNodes = new ArrayList<Node>();
      for (int i = 0; i < 5; i++) {
        newNodes.add(NodesFactory.eINSTANCE.createNode());
      }
      rootNode.getEReference_Contained0100Many().addAll(newNodes);
      for (int i = 0; i < 5; i++) {
        assertTrue(5 < rootNode.getEReference_Contained0100Many().get(i).getName().length());
      }
      assertSame(8, ((XMLResource) modelRoot.eResource()).getEObjectToIDMap().size());

    } catch (Exception ex) {
      assertTrue(ex.getMessage(), false);
    }
  }