package dstest;
import instrumented.java.util.*;
import cute.Cute;
/**
* Created by IntelliJ IDEA.
* User: Koushik Sen (ksen@cs.uiuc.edu)
* Date: Dec 29, 2005
* Time: 10:21:17 AM
*/
public class MTSetTest extends Thread {
Set s1,s2;
public MTSetTest(Set s1, Set s2) {
this.s1 = s1;
this.s2 = s2;
}
public void run() {
int c = Cute.input.Integer();
SimpleObject o1 = (SimpleObject)Cute.input.Object("dstest.SimpleObject");
Cute.Assume(o1!=null);
switch(c){
case 0:
s1.add(o1);
break;
case 1:
s1.addAll(s2);
break;
case 2:
s1.clear();
break;
case 3:
s1.contains(o1);
break;
case 4:
s1.containsAll(s2);
break;
case 5:
s1.remove(o1);
break;
case 6:
s1.removeAll(s2);
break;
default:
s1.retainAll(s2);
break;
}
}
public static void linkedHashSet() {
Set s1 = Collections.synchronizedSet(new LinkedHashSet());
Set s2 = Collections.synchronizedSet(new LinkedHashSet());
(new MTSetTest(s1,s2)).start();
(new MTSetTest(s2,s1)).start();
(new MTSetTest(s1,s2)).start();
(new MTSetTest(s2,s1)).start();
}
public static void treeSet() {
Set s1 = Collections.synchronizedSet(new TreeSet());
Set s2 = Collections.synchronizedSet(new TreeSet());
(new MTSetTest(s1,s2)).start();
(new MTSetTest(s2,s1)).start();
(new MTSetTest(s1,s2)).start();
(new MTSetTest(s2,s1)).start();
}
public static void main(String[] args) {
Set s1 = Collections.synchronizedSet(new HashSet());
Set s2 = Collections.synchronizedSet(new HashSet());
(new MTSetTest(s1,s2)).start();
(new MTSetTest(s2,s1)).start();
(new MTSetTest(s1,s2)).start();
(new MTSetTest(s2,s1)).start();
}
}
//@The following comments are auto-generated to save options for testing the current file
//@jcute.optionPrintOutput=true
//@jcute.optionLogPath=true
//@jcute.optionLogTraceAndInput=false
//@jcute.optionGenerateJUnit=false
//@jcute.optionExtraOptions=
//@jcute.optionJUnitOutputFolderName=d:\sync\work\cute\java
//@jcute.optionJUnitPkgName=
//@jcute.optionNumberOfPaths=20000
//@jcute.optionLogLevel=1
//@jcute.optionLogStatistics=true
//@jcute.optionDepthForDFS=0
//@jcute.optionSearchStrategy=0
//@jcute.optionSequential=false
//@jcute.optionQuickSearchThreshold=100
//@jcute.optionLogRace=true
//@jcute.optionLogDeadlock=false
//@jcute.optionLogException=true
//@jcute.optionLogAssertion=false
//@jcute.optionUseRandomInputs=false