testbasicsimulator.java
来自「Rakiura JFern是一个非常轻型的带有模拟器的Petri网络框架」· Java 代码 · 共 94 行
JAVA
94 行
package org.rakiura.cpn;/**/import junit.framework.Test;import junit.framework.TestCase;import junit.framework.TestSuite;/** * Test utility for BasicMultiset class test suite. * *<br> * TestBasicSimulator.java<br> * <br> * Created: Fri Oct 29 17:42:14 1999<br> * * @author Mariusz Nowostawski * @version $Revision: 1.6 $ */public class TestBasicSimulator extends TestCase { Simulator sim; Net net; Place p1, p2; Transition t1; InputArc a1; OutputArc a2; /**/ public TestBasicSimulator(String name) { super(name); } /** Setup. */ protected void setUp() { net = new BasicNet(); final Multiset m1 = new Multiset(); m1.add(new Integer(1)); p1 = new Place(new Multiset(m1)); p2 = new Place(); t1 = new Transition(); a1 = new InputArc(p1, t1); a1.setExpression(a1.new Expression() { public void evaluate() { var(1); } }); a2 = new OutputArc(t1, p2); a2.setExpression(a2.new Expression() { public Multiset evaluate() { return new Multiset(getMultiset().getAny()); } }); Marking mark = new Marking(); mark.put(p1, new Multiset(m1)); mark.put(p2, new Multiset(m1)); assert(t1.isEnabled()); assertEquals("Test of the a1 place initial size", 1, a1.place().getTokens().size()); assertEquals("Test of the a2 place initial size", 0, a2.place().getTokens().size()); net.add(p1).add(p2).add(t1); sim = new BasicSimulator(net); } /** */ public void testNetRun(){ sim.run(); assertEquals("Test of the a1 place size after fire()", 0, a1.place().getTokens().size()); assertEquals("Test of the a2 place size after fire()", 1, a2.place().getTokens().size()); } /** */ public void testNetStep(){ boolean more = sim.step(); assertEquals("Test of the a1 place size after fire()", 0, a1.place().getTokens().size()); assertEquals("Test of the a2 place size after fire()", 1, a2.place().getTokens().size()); assert(!more); } /** * Test suite for ObservableStore class. */ public static Test suite() { return new TestSuite(TestBasicSimulator.class); }} // TestBasicSimulator//////////////////// end of file ////////////////////
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?