モデル Junit ライブラリ DFS クラスを使用して、FSM からスパニング ツリーを作成しています。
これは私のコードです:
public static void main(String args[]) throws FileNotFoundException {
// create our model and a test generation algorithm
Tester tester = new RandomTester(new FSM());
// build the complete FSM graph for our model, just to ensure
// that we get accurate model coverage metrics.
tester.buildGraph();
// set up our favourite coverage metric
CoverageMetric trCoverage = new TransitionCoverage();
tester.addListener(trCoverage);
// ask to print the generated tests
//tester.addListener("verbose");
// generate a small test suite of 20 steps (covers 4/5 transitions)
tester.generate(20);
//tester.getModel().printMessage(trCoverage.getName() + " was " + trCoverage.toString());
GraphListener gl = tester.buildGraph();
gl.printGraphDot("/Users/mahsaabbasian/Documents/workspace/ModelJunit/src/modelJunit/file.dot");
InspectableGraph graph1 = gl.getGraph();
DirectedDFS dfs = new DirectedDFS();
dfs.execute(graph1);
dfs.isDone();
Vertex v = graph1.aVertex();
dfs.dfsVisit(v);
}
これは私が得る出力です:
vertex with element 0
vertex with element 2
vertex with element 1
the time is4
the time is5
the time is6
vertex with element 0
the time is8
残念ながら、dfs.isDone(); を呼び出すと、false が出力されるため、深さ優先検索の結果が表示されません。FSM に DFS を適用するために必要な関数がわからない