/* * Test the clone() method */ @Test public void testRegularIFNetTransitionClone() throws ParameterException { IFNet sNet = IFNetTestUtil.createSimpleIFNet(); RegularIFNetTransition t = (RegularIFNetTransition) sNet.getTransition("t0"); t.setSilent(true); // Create an instance of TestGuardDataContainer TestGuardDataContainer tgdc = new TestGuardDataContainer(sNet.getTokenColors()); t.setGuardDataContainer(tgdc); RegularIFNetTransition tClone = t.clone(); assertEquals(t, tClone); assertNotSame(t, tClone); assertTrue(tClone.isSilent()); assertEquals(t.getName(), tClone.getName()); assertEquals(t.getLabel(), tClone.getLabel()); assertEquals(t.isPlace(), tClone.isPlace()); assertEquals(t.isDrain(), tClone.isDrain()); assertEquals(t.isSource(), tClone.isSource()); assertEquals(t.isTransition(), tClone.isTransition()); assertEquals(t.getGuards().size(), tClone.getGuards().size()); assertEquals(t.getGuardDataContainer(), tClone.getGuardDataContainer()); // assertNotSame(t.getGuardDataContainer(), tClone.getGuardDataContainer()); // Access modes for (Entry<String, Set<AccessMode>> color : t.getAccessModes().entrySet()) { assertEquals(color.getValue(), tClone.getAccessModes(color.getKey())); } }
/* * Test method for {@link de.uni.freiburg.iig.telematik.sepia.petrinet.ifnet.RegularIFNetTransition#getAccessModes(java.lang.String)}. Check whether the access modes are returned correctly. */ @Test public void testGetAccessModesString() throws ParameterException { IFNet sNet = IFNetTestUtil.createSimpleIFNet(); RegularIFNetTransition trans = (RegularIFNetTransition) sNet.getTransition("t0"); // contained Set<AccessMode> greenAccess = trans.getAccessModes("green"); Set<AccessMode> redAccess = trans.getAccessModes("red"); Set<AccessMode> blueAccess = trans.getAccessModes("blue"); Set<AccessMode> pinkAccess = trans.getAccessModes("pink"); assertTrue("A given accessmode was not set.", greenAccess.contains(AccessMode.READ)); assertTrue("A given accessmode was not set.", redAccess.contains(AccessMode.DELETE)); assertTrue("A given accessmode was not set.", blueAccess.contains(AccessMode.CREATE)); assertTrue("A non given accessmode was set.", pinkAccess.isEmpty()); }
/* * Test method for {@link de.uni.freiburg.iig.telematik.sepia.petrinet.ifnet.RegularIFNetTransition#addAccessMode(java.lang.String, de.uni.freiburg.iig.telematik.sepia.petrinet.ifnet.AccessMode[])}. Set some accessmodes. Use colors which already have access modes and new colors. */ @Test public void testAddAccessModeStringAccessModeArray() throws ParameterException { IFNet sNet = IFNetTestUtil.createSimpleIFNet(); RegularIFNetTransition trans = (RegularIFNetTransition) sNet.getTransition("t0"); HashSet<AccessMode> createMode = new HashSet<AccessMode>(); HashSet<AccessMode> deleteMode = new HashSet<AccessMode>(); createMode.add(AccessMode.CREATE); deleteMode.add(AccessMode.DELETE); trans.addAccessMode("green", createMode); trans.addAccessMode("pink", deleteMode); // Check all are contained Set<AccessMode> greenModes = trans.getAccessModes("green"); assertTrue("An access mode is missing", greenModes.contains(AccessMode.CREATE)); assertTrue("An access mode is missing", greenModes.contains(AccessMode.READ)); Set<AccessMode> pinkModes = trans.getAccessModes("pink"); assertTrue("An access mode is missing", pinkModes.contains(AccessMode.DELETE)); }
/* * Test method for {@link de.uni.freiburg.iig.telematik.sepia.petrinet.ifnet.RegularIFNetTransition#setAccessMode(java.lang.String, java.util.Collection)}. */ @Test public void testSetAccessModeStringCollectionOfAccessMode() throws ParameterException { IFNet sNet = IFNetTestUtil.createSimpleIFNet(); RegularIFNetTransition trans = (RegularIFNetTransition) sNet.getTransition("tIn"); // set access mode trans.setAccessMode("pink", AccessMode.READ, AccessMode.CREATE); Map<String, Set<AccessMode>> modes = trans.getAccessModes(); Set<AccessMode> pinkAccess = modes.get("pink"); assertTrue("A given accessmode (READ) was not set.", pinkAccess.contains(AccessMode.READ)); assertTrue("A given accessmode (CREATE) was not set.", pinkAccess.contains(AccessMode.CREATE)); // Check there are no other modes pinkAccess.remove(AccessMode.READ); pinkAccess.remove(AccessMode.CREATE); assertTrue("A non given accessmode was set.", pinkAccess.isEmpty()); }
/* * 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")); }