Esempio n. 1
0
  /** Test deleting a package that contains a Class diagram. The diagram should be deleted, too. */
  public void testDeletePackageWithClassDiagram() {
    Project p = ProjectManager.getManager().getOpenProjects().get(0);
    assertEquals(2, p.getDiagramList().size());
    assertEquals(
        Translator.localize("misc.untitled-model"), Model.getFacade().getName(p.getModel()));
    assertEquals(p.getRoot(), p.getModel());

    int sizeMembers = p.getMembers().size();
    int sizeDiagrams = p.getDiagramList().size();

    // test with a class and class diagram
    Object package1 = Model.getModelManagementFactory().buildPackage("test1");
    assertNotNull(package1);
    Object package2 = Model.getModelManagementFactory().buildPackage("test2");

    UMLClassDiagram cDiag = new UMLClassDiagram(package2);
    p.addMember(cDiag);
    assertEquals(sizeDiagrams + 1, p.getDiagramList().size());
    assertEquals(sizeMembers + 1, p.getMembers().size());
    p.moveToTrash(package2);
    Model.getPump().flushModelEvents();

    assertEquals(sizeDiagrams, p.getDiagramList().size());
    assertEquals(sizeMembers, p.getMembers().size());
  }
Esempio n. 2
0
  /**
   * Test deleting a package with a package with a Activity diagram. The diagram should be deleted,
   * too.
   */
  public void testDeletePackageWithPackageWithActivityDiagram() {
    Project p = ProjectManager.getManager().getCurrentProject();
    assertEquals(2, p.getDiagrams().size());

    int sizeMembers = p.getMembers().size();
    int sizeDiagrams = p.getDiagrams().size();

    // test with a package and a class and activity diagram
    Object package1 = Model.getModelManagementFactory().buildPackage("test1", null);
    Model.getCoreHelper().setNamespace(package1, p.getModel());
    Object package2 = Model.getModelManagementFactory().buildPackage("test2", null);
    Model.getCoreHelper().setNamespace(package2, package1);

    // build the Activity Diagram
    Object actgrph = Model.getActivityGraphsFactory().buildActivityGraph(package2);
    UMLActivityDiagram d = new UMLActivityDiagram(Model.getFacade().getNamespace(actgrph), actgrph);
    p.addMember(d);
    assertEquals(sizeDiagrams + 1, p.getDiagrams().size());
    assertEquals(sizeMembers + 1, p.getMembers().size());

    p.moveToTrash(package1);

    assertTrue("Package 2 not in trash", Model.getUmlFactory().isRemoved(package2));
    assertTrue("ActivityGraph not in trash", Model.getUmlFactory().isRemoved(actgrph));
    assertEquals(sizeDiagrams, p.getDiagrams().size());
    assertEquals(sizeMembers, p.getMembers().size());
  }
  /*
   * @see junit.framework.TestCase#setUp()
   */
  public void setUp() throws Exception {
    super.setUp();
    (new InitNotation()).init();
    (new InitNotationUml()).init();
    (new InitNotationJava()).init();

    InitializeModel.initializeDefault();
    new InitProfileSubsystem().init();
    nodeTypes =
        new Object[] {
          Model.getCoreFactory().createClass(),
          Model.getCoreFactory().createComment(),
          Model.getCoreFactory().createDataType(),
          Model.getCoreFactory().createEnumeration(),
          Model.getCommonBehaviorFactory().createException(),
          Model.getCoreFactory().createInterface(),
          Model.getModelManagementFactory().createModel(),
          Model.getModelManagementFactory().createPackage(),
          Model.getCommonBehaviorFactory().createSignal(),
          Model.getExtensionMechanismsFactory().createStereotype(),
          Model.getModelManagementFactory().createSubsystem(),
          Model.getUseCasesFactory().createActor(),
          Model.getUseCasesFactory().createUseCase(),
          Model.getCommonBehaviorFactory().createObject(),
          Model.getCommonBehaviorFactory().createComponentInstance(),
          Model.getCommonBehaviorFactory().createNodeInstance(),
        };
  }
Esempio n. 4
0
  /** Test the moveToTrash function for package and content. */
  public void testTrashcanPackageContent() {
    Project p = ProjectManager.getManager().getOpenProjects().get(0);
    // test with a class in a package
    Object package1 = Model.getModelManagementFactory().buildPackage("test1");
    Model.getCoreHelper().setNamespace(package1, p.getRoot());
    Object cls1 = Model.getCoreFactory().buildClass(package1);
    Object cls2 = Model.getCoreFactory().buildClass(package1);
    Object cls3 = Model.getCoreFactory().buildClass(package1);
    Object cls4 = Model.getCoreFactory().buildClass(p.getRoot());
    Object c1 = Model.getFacade().getOwnedElements(p.getRoot());
    assertTrue(c1 instanceof Collection);
    // Let's make it a bit more difficult by setting the target:
    TargetManager.getInstance().setTarget(cls2);

    p.moveToTrash(package1);
    Model.getPump().flushModelEvents();

    // TODO: We should also test that the object
    // have been removed from their namespace.
    // Collection c = Model.getFacade().getOwnedElements(p.getRoot());
    assertTrue("Package not in trash", p.isInTrash(package1));
    assertTrue("Package not deleted", Model.getUmlFactory().isRemoved(package1));
    assertTrue("Class 1 not deleted", Model.getUmlFactory().isRemoved(cls1));
    assertTrue("Class 2 not deleted", Model.getUmlFactory().isRemoved(cls2));
    assertTrue("Class 3 not deleted", Model.getUmlFactory().isRemoved(cls3));
    assertTrue("Class 4 has been deleted", !Model.getUmlFactory().isRemoved(cls4));
  }
Esempio n. 5
0
  /**
   * Test deleting a package with a Class with a Activity diagram. The diagram should be deleted,
   * too.
   */
  public void testDeletePackageWithClassWithActivityDiagram() {
    Project p = ProjectManager.getManager().getOpenProjects().get(0);
    assertEquals(2, p.getDiagramList().size());

    int sizeMembers = p.getMembers().size();
    int sizeDiagrams = p.getDiagramList().size();

    // test with a package and a class and activity diagram
    Object package1 = Model.getModelManagementFactory().buildPackage("test1");
    Object aClass = Model.getCoreFactory().buildClass(package1);

    // build the Activity Diagram
    Object actgrph = Model.getActivityGraphsFactory().buildActivityGraph(aClass);
    UMLActivityDiagram d = new UMLActivityDiagram(Model.getFacade().getNamespace(actgrph), actgrph);
    p.addMember(d);
    assertEquals(sizeDiagrams + 1, p.getDiagramList().size());
    assertEquals(sizeMembers + 1, p.getMembers().size());

    p.moveToTrash(package1);
    Model.getPump().flushModelEvents();

    assertTrue("Class not in trash", Model.getUmlFactory().isRemoved(aClass));
    assertTrue("ActivityGraph not in trash", Model.getUmlFactory().isRemoved(actgrph));
    assertEquals(sizeDiagrams, p.getDiagramList().size());
    assertEquals(sizeMembers, p.getMembers().size());
  }
Esempio n. 6
0
  /**
   * Test deleting an operation that contains a statechart diagram. The diagram should be deleted,
   * too.
   */
  public void testDeleteOperationWithStateDiagram() {
    Project p = ProjectManager.getManager().getOpenProjects().get(0);
    assertEquals(2, p.getDiagramList().size());

    int sizeMembers = p.getMembers().size();
    int sizeDiagrams = p.getDiagramList().size();

    // test with a class and class diagram
    Object package1 = Model.getModelManagementFactory().buildPackage("test1");
    Object aClass = Model.getCoreFactory().buildClass(package1);

    Object voidType = p.getDefaultReturnType();
    Object oper = Model.getCoreFactory().buildOperation(aClass, voidType);

    // try with Statediagram
    Object machine = Model.getStateMachinesFactory().buildStateMachine(oper);
    UMLStateDiagram d = new UMLStateDiagram(Model.getFacade().getNamespace(machine), machine);
    p.addMember(d);
    assertEquals(sizeDiagrams + 1, p.getDiagramList().size());
    assertEquals(sizeMembers + 1, p.getMembers().size());

    p.moveToTrash(oper);
    Model.getPump().flushModelEvents();

    assertTrue("Operation not in trash", p.isInTrash(oper));
    /* Changed by issue 4281: */
    assertTrue("Statemachine in trash", !Model.getUmlFactory().isRemoved(machine));
    assertEquals(sizeDiagrams + 1, p.getDiagramList().size());
    assertEquals(sizeMembers + 1, p.getMembers().size());
    /* After issue 4284 will be solved, we
     * may even delete the class, and the diagram
     * should still exist. */
  }
Esempio n. 7
0
  /**
   * Test deleting a package that contains a Class with Statechart diagram. The diagram should be
   * deleted, too.
   */
  public void testDeletePackageWithStateDiagram() {
    Project p = ProjectManager.getManager().getOpenProjects().get(0);
    assertEquals(2, p.getDiagramList().size());

    int sizeMembers = p.getMembers().size();
    int sizeDiagrams = p.getDiagramList().size();

    // test with a class and class diagram
    Object package1 = Model.getModelManagementFactory().buildPackage("test1");
    Object aClass = Model.getCoreFactory().buildClass(package1);

    // try with Statediagram
    Object machine = Model.getStateMachinesFactory().buildStateMachine(aClass);
    UMLStateDiagram d = new UMLStateDiagram(Model.getFacade().getNamespace(machine), machine);
    p.addMember(d);
    assertEquals(sizeDiagrams + 1, p.getDiagramList().size());
    assertEquals(sizeMembers + 1, p.getMembers().size());

    p.moveToTrash(package1);
    Model.getPump().flushModelEvents();

    assertTrue("Class not in trash", Model.getUmlFactory().isRemoved(aClass));
    assertTrue("Statemachine not in trash", Model.getUmlFactory().isRemoved(machine));
    assertEquals(sizeDiagrams, p.getDiagramList().size());
    assertEquals(sizeMembers, p.getMembers().size());
  }
Esempio n. 8
0
  /**
   * Test deleting an operation that contains a statechart diagram. The diagram should be deleted,
   * too.
   */
  public void testDeleteOperationWithStateDiagram() {
    Project p = ProjectManager.getManager().getCurrentProject();
    assertEquals(2, p.getDiagrams().size());

    int sizeMembers = p.getMembers().size();
    int sizeDiagrams = p.getDiagrams().size();

    // test with a class and class diagram
    Object package1 = Model.getModelManagementFactory().buildPackage("test1", null);
    Object aClass = Model.getCoreFactory().buildClass(package1);

    Collection propertyChangeListeners = p.findFigsForMember(aClass);
    Object model = p.getModel();
    Object voidType = p.findType("void");
    Object oper =
        Model.getCoreFactory().buildOperation(aClass, model, voidType, propertyChangeListeners);

    // try with Statediagram
    Object machine = Model.getStateMachinesFactory().buildStateMachine(oper);
    UMLStateDiagram d = new UMLStateDiagram(Model.getFacade().getNamespace(machine), machine);
    p.addMember(d);
    assertEquals(sizeDiagrams + 1, p.getDiagrams().size());
    assertEquals(sizeMembers + 1, p.getMembers().size());

    p.moveToTrash(oper);

    assertTrue("Operation not in trash", p.isInTrash(oper));
    assertTrue("Statemachine not in trash", Model.getUmlFactory().isRemoved(machine));
    assertEquals(sizeDiagrams, p.getDiagrams().size());
    assertEquals(sizeMembers, p.getMembers().size());
  }
 /*
  * @see junit.framework.TestCase#setUp()
  */
 @Override
 protected void setUp() throws Exception {
   super.setUp();
   InitializeModel.initializeDefault();
   ns = Model.getModelManagementFactory().createModel();
   elem = Model.getCoreFactory().buildClass(ns);
   model = new UMLModelElementClientDependencyListModel();
   model.setTarget(elem);
   ThreadHelper.synchronize();
 }
Esempio n. 10
0
 /*
  * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
  */
 public void actionPerformed(ActionEvent ae) {
   super.actionPerformed(ae);
   Project p = ProjectManager.getManager().getCurrentProject();
   int numPacks = p.getUserDefinedModelList().size();
   String nameStr = "package_" + (numPacks + 1);
   Object model = Model.getModelManagementFactory().createModel();
   Model.getCoreHelper().setName(model, nameStr);
   p.addMember(model);
   super.actionPerformed(ae);
   new ActionClassDiagram().actionPerformed(ae);
 }
Esempio n. 11
0
  /** Test deleting a package that contains a Class. The class should be deleted, too. */
  public void testDeletePackageWithClass() {
    Project p = ProjectManager.getManager().getCurrentProject();
    assertEquals(2, p.getDiagrams().size());

    // test with a class and class diagram
    Object package1 = Model.getModelManagementFactory().buildPackage("test1", null);
    Object aClass = Model.getCoreFactory().buildClass(package1);

    p.moveToTrash(package1);

    assertTrue("Class not in trash", Model.getUmlFactory().isRemoved(aClass));
  }
 /** @see junit.framework.TestCase#setUp() */
 protected void setUp() throws Exception {
   super.setUp();
   Object mmodel = Model.getModelManagementFactory().createModel();
   Model.getCoreHelper().setName(mmodel, "untitledModel");
   Model.getModelManagementFactory().setRootModel(mmodel);
   namespace = Model.getModelManagementFactory().createPackage();
   child = Model.getCoreFactory().buildClass("child", namespace);
   parent = Model.getCoreFactory().buildClass("parent", namespace);
   elem = Model.getCoreFactory().buildGeneralization(child, parent);
   model = new UMLGeneralizationPowertypeComboBoxModel();
   model.targetSet(new TargetEvent(this, "set", new Object[0], new Object[] {elem}));
   types = new Object[10];
   Object m = Model.getModelManagementFactory().createModel();
   ProjectManager.getManager().getCurrentProject().setRoot(m);
   Model.getCoreHelper().setNamespace(elem, m);
   for (int i = 0; i < 10; i++) {
     types[i] = Model.getCoreFactory().createClass();
     Model.getCoreHelper().addOwnedElement(m, types[i]);
   }
   Model.getPump().flushModelEvents();
 }
Esempio n. 13
0
  /** Test deleting a package that contains a Class diagram. The diagram should be deleted, too. */
  public void testDeletePackageWithClassDiagram() {
    Project p = ProjectManager.getManager().getCurrentProject();
    assertEquals(2, p.getDiagrams().size());
    assertEquals("untitledModel", Model.getFacade().getName(p.getModel()));
    assertEquals(p.getRoot(), p.getModel());

    int sizeMembers = p.getMembers().size();
    int sizeDiagrams = p.getDiagrams().size();

    // test with a class and class diagram
    Object package1 = Model.getModelManagementFactory().buildPackage("test1", null);
    Object package2 = Model.getModelManagementFactory().buildPackage("test2", null);

    UMLClassDiagram cDiag = new UMLClassDiagram(package2);
    p.addMember(cDiag);
    assertEquals(sizeDiagrams + 1, p.getDiagrams().size());
    assertEquals(sizeMembers + 1, p.getMembers().size());
    p.moveToTrash(package2);
    assertEquals(sizeDiagrams, p.getDiagrams().size());
    assertEquals(sizeMembers, p.getMembers().size());
  }
 /*
  * @see junit.framework.TestCase#setUp()
  */
 @Override
 protected void setUp() throws Exception {
   super.setUp();
   InitializeModel.initializeDefault();
   new InitProfileSubsystem().init();
   Project p = ProjectManager.getManager().getCurrentProject();
   elem = Model.getCommonBehaviorFactory().createReception();
   signals = new Object[NO_OF_ELEMENTS];
   Object m = Model.getModelManagementFactory().createModel();
   Collection roots = new ArrayList();
   roots.add(m);
   p.setRoots(roots);
   Model.getCoreHelper().setNamespace(elem, m);
   for (int i = 0; i < NO_OF_ELEMENTS; i++) {
     signals[i] = Model.getCommonBehaviorFactory().createSignal();
     Model.getCoreHelper().addOwnedElement(m, signals[i]);
   }
   model = new UMLReceptionSignalComboBoxModel();
   model.targetSet(new TargetEvent(this, "set", new Object[0], new Object[] {elem}));
   ThreadHelper.synchronize();
 }
  /**
   * Test if the listener gets events when model elements change:
   *
   * @throws InterruptedException
   */
  public void testListener() throws InterruptedException {
    Object model = Model.getModelManagementFactory().createModel();
    aClass = Model.getCoreFactory().buildClass(model);

    NotationProvider np = new NPImpl();
    np.setRenderer(this);
    np.initialiseListener(aClass);

    propChanged = false;
    Model.getCoreHelper().setName(aClass, "ClassA1");
    Model.getPump().flushModelEvents();
    Thread.sleep(2000);
    assertTrue("No event received", propChanged);

    np.cleanListener();
    propChanged = false;
    Model.getCoreHelper().setName(aClass, "ClassA2");
    Model.getPump().flushModelEvents();
    assertTrue("Event received, despite not listening", !propChanged);

    np.updateListener(aClass, null);
  }
  public void testListener() {
    Object model = Model.getModelManagementFactory().createModel();
    Project p = ProjectManager.getManager().getCurrentProject();
    p.addModel(model);
    aClass = Model.getCoreFactory().buildClass(model);

    NotationProvider np = new NPImpl();
    np.initialiseListener(this, aClass);

    propChanged = false;
    Model.getCoreHelper().setName(aClass, "ClassA1");
    Model.getPump().flushModelEvents();
    assertTrue("No event received", propChanged);

    np.cleanListener(this, aClass);
    propChanged = false;
    Model.getCoreHelper().setName(aClass, "ClassA2");
    Model.getPump().flushModelEvents();
    assertTrue("Event received, despite not listening", !propChanged);

    np.updateListener(this, aClass, null);
  }
Esempio n. 17
0
  /** Test deleting a statechart diagram directly. */
  public void testDeleteStateDiagram() {
    Project p = ProjectManager.getManager().getCurrentProject();
    assertEquals(2, p.getDiagrams().size());

    int sizeMembers = p.getMembers().size();
    int sizeDiagrams = p.getDiagrams().size();

    // test with a class and class diagram
    Object package1 = Model.getModelManagementFactory().buildPackage("test1", null);
    Object aClass = Model.getCoreFactory().buildClass(package1);

    // try with Statediagram
    Object machine = Model.getStateMachinesFactory().buildStateMachine(aClass);
    UMLStateDiagram d = new UMLStateDiagram(Model.getFacade().getNamespace(machine), machine);
    p.addMember(d);
    assertEquals(sizeDiagrams + 1, p.getDiagrams().size());
    assertEquals(sizeMembers + 1, p.getMembers().size());
    p.moveToTrash(d);
    assertTrue("Statediagram not in trash", p.isInTrash(d));
    assertEquals(sizeDiagrams, p.getDiagrams().size());
    assertEquals(sizeMembers, p.getMembers().size());
  }
 /*
  * @see org.argouml.uml.ui.AbstractTestActionAddDiagram#getNamespace()
  */
 protected Object getNamespace() {
   Object pack = Model.getModelManagementFactory().createPackage();
   Object c = Model.getCoreFactory().buildClass(pack);
   TargetManager.getInstance().setTarget(c);
   return c;
 }
Esempio n. 19
0
 /*
  * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
  */
 public void actionPerformed(ActionEvent e) {
   super.actionPerformed(e);
   Object namespace = TargetManager.getInstance().getModelTarget();
   Model.getCoreHelper()
       .addOwnedElement(namespace, Model.getModelManagementFactory().createPackage());
 }