/* * Test method for {@link de.uni.freiburg.iig.telematik.sepia.petrinet.ifnet.RegularIFNetTransition#checkState()}. Check whether a disabled transition which is disabled because of to few space in one of its output places is disabled. */ @Test public void testCheckStateNotEnoughOutputSpace() throws ParameterException { // Get a simple standard SNet ... IFNet sNet = IFNetTestUtil.createSimpleIFNet(); RegularIFNetTransition trans = (RegularIFNetTransition) sNet.getTransition("tIn"); // check the state is enabled initially trans.checkState(); assertTrue("An enabled transition is reported to be disabled", trans.isEnabled()); // ... add a green token to place p0 IFNetPlace p0 = sNet.getPlace("p0"); p0.setState(new Multiset<String>("green")); // check the state of a now disabled transition trans.checkState(); assertFalse("A disabled transition is reported to be enabled", trans.isEnabled()); // removing of green enables the transition again // p0.getState().clear(); cleaning a clone dosn't make sense p0.setState(new Multiset<String>()); trans.checkState(); assertTrue("An enabled transition is reported to be disabled", trans.isEnabled()); }
/* * Test method for {@link de.uni.freiburg.iig.telematik.sepia.petrinet.ifnet.RegularIFNetTransition#checkState()}. Check whether an enabled transition is reported to be enabled and a disable transition to be disabled based on guards */ @Test public void testCheckStateGuard() throws ParameterException { // Get a simple standard SNet and two of its transitions IFNet sNet = IFNetTestUtil.createSimpleIFNet(); RegularIFNetTransition trans = (RegularIFNetTransition) sNet.getTransition("tIn"); // create aGuardDataContainer TestGuardDataContainer tgdc = new TestGuardDataContainer(sNet.getTokenColors()); // create two guards NumberConstraint trueConstraint = new NumberConstraint("green", NumberOperator.IN_INTERVAL, -1, 1); NumberConstraint falseConstraint = new NumberConstraint("green", NumberOperator.IN_INTERVAL, 2, 3); // check state with true constraint trans.setGuardDataContainer(tgdc); trans.addGuard(trueConstraint); trans.checkState(); assertTrue("An enabled transition is reported to be disabled", trans.isEnabled()); // check state with additional false constraint trans.addGuard(falseConstraint); trans.checkState(); assertFalse("An disabled transition is reported to be enabled", trans.isEnabled()); }
/* * Test method for {@link de.uni.freiburg.iig.telematik.sepia.petrinet.ifnet.RegularIFNetTransition#checkState()}. Check whether an enabled transition is reported to be enabled and a disable transition to be disabled. */ @Test public void testCheckState() throws ParameterException { // Get a simple standard SNet and one of its transitions IFNet sNet = IFNetTestUtil.createSimpleIFNet(); RegularIFNetTransition disabledTrans = (RegularIFNetTransition) sNet.getTransition("t0"); RegularIFNetTransition enabledTrans = (RegularIFNetTransition) sNet.getTransition("tIn"); // check the states disabledTrans.checkState(); assertFalse("A disabled transition is reported to be enabled", disabledTrans.isEnabled()); enabledTrans.checkState(); assertTrue("An enabled transition is reported to be disabled", enabledTrans.isEnabled()); }