Coverage Report - TestDriver
 
Classes in this File Line Coverage Branch Coverage Complexity
TestDriver
89%
85/95
100%
3/3
4.875
TestDriver$Vobject
100%
3/3
100%
1/1
4.875
 
 1  
 import java.util.Random;
 2  
 
 3  
 public class TestDriver {
 4  
   public static void main (String [] arg) {
 5  1
     TestDriver td = new TestDriver (arg);
 6  1
   }
 7  
   private final static boolean TRACE = true;
 8  
   //  private final static boolean TRACE = false;
 9  
   private void trace (String s) {
 10  
     if (TRACE) {
 11  866
       System.err.print ("Driver "+callsNumber+"-"+selection+": "+ s);
 12  
     }
 13  866
   }
 14  657
   private void traceln (String s) { trace (s+"\n"); }
 15  
 
 16  1
   private int callsNumber = 1000;
 17  1
   private Random random = new Random (0);
 18  
   private Vector vector;
 19  
   private int selection;
 20  
 
 21  
   class Vobject {
 22  
     int x;
 23  371
     Vobject () { x = range (0,10); }
 24  1624
     public String toString () { return ""+x; }
 25  
     public boolean equals (Object o) { 
 26  7003
       return o != null && o instanceof Vobject && x == ((Vobject)o).x;
 27  
     }
 28  
   }
 29  
 
 30  1
   TestDriver (String [] arg) {
 31  
     // process the command line argument(s)
 32  1
     if (arg.length == 1) 
 33  0
       try { callsNumber = Integer.parseInt (arg [0]); }
 34  0
       catch (NumberFormatException er) {
 35  0
         traceln ("Wrong number of calls " + arg [0]);
 36  0
       }
 37  1
     else if (arg.length > 1) {
 38  0
       traceln ("Wrong number of arguments " + arg.length);
 39  
     }
 40  
 
 41  
     // CONSTRUCT
 42  1
       int size = range (10, 20);
 43  1
       int increment = range (10, 20);
 44  1
       traceln("new Vector("+size+","+increment+")");
 45  1
       vector = new Vector(size, increment);
 46  
 
 47  1001
     while (callsNumber-- > 0) {
 48  1000
       selection = range (0, 24);
 49  
       try {
 50  1000
         switch (selection) {
 51  
           case 0:
 52  
   // CONSTRUCTION
 53  31
             break;
 54  
           case 1: {
 55  
   // COPY INTO
 56  40
             break; }
 57  
           case 2: {
 58  
   // TRIM TO SIZE
 59  38
             traceln ("trimToSize()");
 60  38
             vector.trimToSize();
 61  38
             break; }
 62  
           case 3: {
 63  
   // ENSURE CAPACITY
 64  30
             break; }
 65  
           case 4: {
 66  
   // SET SIZE
 67  39
             break; }
 68  
           case 5: {
 69  
   // CAPACITY
 70  41
             traceln ("capacity() = "+vector.capacity());
 71  41
             break; }
 72  
           case 6: {
 73  
   // SIZE
 74  46
             traceln ("size() = "+vector.size());
 75  46
             break; }
 76  
           case 7: {
 77  
   // IS EMPTY
 78  44
             traceln ("isEmpty() = "+vector.isEmpty());
 79  44
             break; }
 80  
   // ELEMENTS
 81  
           case 8: {
 82  38
             break; }
 83  
           case 9: {
 84  
   // CONTAINS
 85  39
             Vobject o = new Vobject ();
 86  39
             traceln ("contains("+o.toString()+") = "+vector.contains(o));
 87  39
             break; }
 88  
           case 10: {
 89  
   // INDEX OF
 90  43
             Vobject o = new Vobject ();
 91  43
             traceln ("indexOf("+o.toString()+") = "+vector.indexOf(o));
 92  43
             break; }
 93  
           case 11: {
 94  
   // INDEX OF 2
 95  49
             Vobject o = new Vobject ();
 96  49
             int x = range (0, 1000);
 97  49
             traceln ("indexOf("+o.toString()+","+x+") = "+vector.indexOf(o,x));
 98  49
             break; }
 99  
           case 12: {
 100  
   // LAST INDEX OF 1
 101  45
             Vobject o = new Vobject ();
 102  45
             traceln ("lastIndexOf("+o.toString()+") = "+vector.lastIndexOf(o));
 103  45
             break; }
 104  
           case 13: {
 105  
   // LAST INDEX OF 2
 106  45
             Vobject o = new Vobject ();
 107  45
             int x = range (0, 1000);
 108  45
             trace ("lastIndexOf("+o.toString()+","+x+") = ");
 109  45
             traceln (""+vector.lastIndexOf(o,x));
 110  1
             break; }
 111  
           case 14: {
 112  
   // ELEMENT AT
 113  41
             int x = range (0, 1000);
 114  41
             trace ("elementAt("+x+") = ");
 115  41
             traceln (""+vector.elementAt(x));
 116  0
             break; }
 117  
           case 15: {
 118  
   // FIRST ELEMENT
 119  36
             trace ("firstElement() = ");
 120  36
             traceln (""+vector.firstElement());
 121  36
             break; }
 122  
           case 16: {
 123  
   // LAST ELEMENT
 124  45
             trace ("lastElement() = ");
 125  45
             traceln (""+vector.lastElement());
 126  43
             break; }
 127  
           case 17: {
 128  
   // SET ELEMENT AT
 129  39
             Vobject o = new Vobject ();
 130  39
             int x = range (0, 1000);
 131  39
             traceln ("setElementAt("+o.toString()+","+x+")");
 132  39
             vector.setElementAt(o, x);
 133  0
             break; }
 134  
           case 18: {
 135  
   // REMOVE ELEMENT AT
 136  39
             int x = range (0, 1000);
 137  39
             traceln ("removeElementAt("+x+")");
 138  39
             vector.removeElementAt(x);
 139  0
             break; }
 140  
           case 19: {
 141  
   // INSERT ELEMENT AT
 142  39
             Vobject o = new Vobject ();
 143  39
             int x = range (0, 1000);
 144  39
             traceln ("insertElementAt("+o.toString()+","+x+")");
 145  39
             vector.insertElementAt(o, x);
 146  0
             break; }
 147  
           case 20: {
 148  
   // ADD ELEMENT
 149  31
             Vobject o = new Vobject ();
 150  31
             traceln ("addElement("+o.toString()+")");
 151  31
             vector.addElement(o);
 152  31
             break; }
 153  
           case 21: {
 154  
   // REMOVE ELEMENT
 155  41
             Vobject o = new Vobject ();
 156  41
             traceln ("removeElement("+o.toString()+")");
 157  41
             vector.removeElement(o);
 158  41
             break; }
 159  
           case 22: {
 160  
   // REMOVE ALL ELEMENTS
 161  32
             break; }
 162  
           case 23: {
 163  
   // CLONE
 164  47
             break; }
 165  
           case 24: {
 166  
   // TO STRING
 167  42
             trace ("toString() = ");
 168  42
             traceln (vector.toString());
 169  42
             break; }
 170  
           default:
 171  0
             traceln ("skipping "+selection);
 172  
         }
 173  796
       } catch (Exception x) { System.err.println (" ***"+selection+"*** "+x); }
 174  
     }
 175  1
   }
 176  
 
 177  
   int range (int min, int max) {
 178  1625
     return min+ Math.abs (random.nextInt()) % (max - min + 1);
 179  
   }
 180  
 
 181  
 }