/** Test the isValue utility function. */
 public void testIsValue() {
   Map<String, Object> args = new HashMap<String, Object>();
   args.put("not a boolean", "c");
   args.put("true", Boolean.TRUE);
   args.put("false", Boolean.FALSE);
   args.put("null", null);
   assertTrue("Not a boolean", !NotationProvider.isValue("not a boolean", args));
   assertTrue("Finding true", NotationProvider.isValue("true", args));
   assertTrue("Finding false", !NotationProvider.isValue("false", args));
   assertTrue("Finding null", !NotationProvider.isValue("null", args));
   assertTrue("Not encountered", !NotationProvider.isValue("xyz", args));
 }
  /**
   * 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);
  }
 /**
  * Test the existence of the toString(Object modelElement, NotationSettings settings) method.
  * TODO: Need to find a more useful test.
  */
 public void testToString() {
   NotationProvider np = new NPImpl();
   NotationSettings settings = new NotationSettings();
   settings.setUseGuillemets(true);
   assertTrue("Test toString()", "atrue".equals(np.toString("a", settings)));
 }