/*
   * Test method for {@link de.uni.freiburg.iig.telematik.sepia.petrinet.ifnet.RegularIFNetTransition#removeAccessMode(java.lang.String, de.uni.freiburg.iig.telematik.sepia.petrinet.ifnet.AccessMode[])}.
   */
  @Test
  public void testRemoveAccessModeStringAccessModeArray() throws ParameterException {
    IFNet sNet = IFNetTestUtil.createSimpleIFNet();
    RegularIFNetTransition trans = (RegularIFNetTransition) sNet.getTransition("t0");

    // remove a non existent access mode
    assertFalse(
        "Removing an non existent access mode returned true",
        trans.removeAccessMode("pink", AccessMode.READ));

    // remove the read access
    trans.removeAccessMode("green", AccessMode.READ);
    Set<AccessMode> greenModes = trans.getAccessModes("green");
    assertTrue("An access mode got not removed", greenModes.isEmpty());

    // remove all access modes and then try to remove one more

    trans.removeAccessModes("green");
    trans.removeAccessModes("red");
    trans.removeAccessModes("blue");
    assertFalse(
        "Removing an non existent access mode returned true", trans.removeAccessModes("green"));
  }