コード例 #1
0
 /*
  * example from "A new technique for generating protocol tests", Sabnani and
  * Dahbura, 1985
  */
 public void testUIO() throws NoSuchStateException, TransductionException {
   DeterministicTransducer t = new DeterministicTransducer();
   State[] ss = new State[7];
   ss[0] = t.addState(true, false);
   for (int i = 1; i < 7; i++) ss[i] = t.addState(false, true);
   t.addTransition(new Transition(ss[0], new TransducerRelation("a", "b"), ss[1]));
   t.addTransition(new Transition(ss[1], new TransducerRelation("c", "d"), ss[2]));
   t.addTransition(new Transition(ss[2], new TransducerRelation("z", "b"), ss[4]));
   t.addTransition(new Transition(ss[4], new TransducerRelation("a", "b"), ss[0]));
   t.addTransition(new Transition(ss[1], new TransducerRelation("a", "f"), ss[3]));
   t.addTransition(new Transition(ss[3], new TransducerRelation("z", "b"), ss[5]));
   t.addTransition(new Transition(ss[5], new TransducerRelation("x", "d"), ss[6]));
   t.addTransition(new Transition(ss[6], new TransducerRelation("a", "f"), ss[1]));
   Map m = t.makeUIOSet();
   System.err.println("UIO Set " + m);
   assertTrue(t.verifyUIO(m));
 }
コード例 #2
0
 /*
  * example from <p> " <em> Test selection based on finite state models </em> ",
  * Fujiwara, Bochmann, Khendek, Amalou and Ghedamsi, IEEE TSE 17(6) 1991
  */
 public void testW() throws NoSuchStateException {
   DeterministicTransducer t = new DeterministicTransducer();
   State[] ss = new State[3];
   for (int i = 0; i < 3; i++) ss[i] = t.addState(i == 0 ? true : false, true);
   t.addTransition(new Transition(ss[0], new TransducerRelation("a", "e"), ss[1]));
   t.addTransition(new Transition(ss[0], new TransducerRelation("c", "e"), ss[2]));
   t.addTransition(new Transition(ss[0], new TransducerRelation("b", "f"), ss[1]));
   t.addTransition(new Transition(ss[1], new TransducerRelation("a", "f"), ss[0]));
   t.addTransition(new Transition(ss[1], new TransducerRelation("b", "f"), ss[2]));
   t.addTransition(new Transition(ss[1], new TransducerRelation("c", "f"), ss[1]));
   t.addTransition(new Transition(ss[2], new TransducerRelation("a", "f"), ss[2]));
   t.addTransition(new Transition(ss[2], new TransducerRelation("b", "e"), ss[0]));
   t.addTransition(new Transition(ss[2], new TransducerRelation("c", "e"), ss[1]));
   Set s = t.makeCharacterizingSet();
   System.err.println("W Set " + s);
   assertTrue(t.verifyW(s));
 }
コード例 #3
0
 /*
  * example from "An optimization technique for protocole conformance test
  * generation based on UIO sequences and rural chinese postman tour", Aho,
  * Dahbura, Lee and Uyar, 1991
  */
 public void testUIO2() throws NoSuchStateException, TransductionException {
   DeterministicTransducer t = new DeterministicTransducer();
   State[] ss = new State[5];
   for (int i = 0; i < 5; i++) ss[i] = t.addState(i == 0 ? true : false, true);
   t.addTransition(new Transition(ss[0], new TransducerRelation("a", "x"), ss[0]));
   t.addTransition(new Transition(ss[0], new TransducerRelation("b", "x"), ss[1]));
   t.addTransition(new Transition(ss[0], new TransducerRelation("c", "y"), ss[3]));
   t.addTransition(new Transition(ss[1], new TransducerRelation("b", "y"), ss[2]));
   t.addTransition(new Transition(ss[1], new TransducerRelation("a", "x"), ss[4]));
   t.addTransition(new Transition(ss[2], new TransducerRelation("b", "x"), ss[4]));
   t.addTransition(new Transition(ss[2], new TransducerRelation("c", "y"), ss[4]));
   t.addTransition(new Transition(ss[3], new TransducerRelation("b", "x"), ss[2]));
   t.addTransition(new Transition(ss[3], new TransducerRelation("a", "x"), ss[4]));
   t.addTransition(new Transition(ss[4], new TransducerRelation("a", "z"), ss[3]));
   t.addTransition(new Transition(ss[4], new TransducerRelation("c", "z"), ss[0]));
   Map m = t.makeUIOSet();
   assertTrue(t.verifyUIO(m));
 }