@Before
  public void setUpMethodMap() throws Exception {
    this.microtaskMap = QuestionFactoryMock.generateQuestions();

    HashMap<String, HashMap<String, Vector<Microtask>>> fileMethodMap =
        new HashMap<String, HashMap<String, Vector<Microtask>>>();
    HashMap<String, Vector<Microtask>> methodMap = new HashMap<String, Vector<Microtask>>();

    String method1 = "TinySample";
    String method2 = "seedCounter";

    Vector<Microtask> mtaskList1 = new Vector<Microtask>();
    // first method
    mtaskList1.add(microtaskMap.get(0));
    mtaskList1.add(microtaskMap.get(1));
    mtaskList1.add(microtaskMap.get(2));
    mtaskList1.add(microtaskMap.get(3));
    methodMap.put(method1, mtaskList1);

    Vector<Microtask> mtaskList2 = new Vector<Microtask>();
    // second method
    mtaskList2.add(microtaskMap.get(4));
    mtaskList2.add(microtaskMap.get(5));
    mtaskList2.add(microtaskMap.get(6));
    mtaskList2.add(microtaskMap.get(7));
    mtaskList2.add(microtaskMap.get(8));
    mtaskList2.add(microtaskMap.get(9));
    mtaskList2.add(microtaskMap.get(10));
    methodMap.put(method2, mtaskList2);

    fileMethodMap.put("TinySample.java", methodMap);
  }
  @Before
  public void setUpObtainMicrotaskList() throws Exception {
    this.microtaskMap = QuestionFactoryMock.generateQuestions();

    mtaskList0.add(microtaskMap.get(0));
    mtaskList0.add(microtaskMap.get(4));

    mtaskList1.add(microtaskMap.get(1));
    mtaskList1.add(microtaskMap.get(5));

    mtaskList2.add(microtaskMap.get(2));
    mtaskList2.add(microtaskMap.get(6));

    mtaskList3.add(microtaskMap.get(3));
    mtaskList3.add(microtaskMap.get(7));

    mtaskList4.add(microtaskMap.get(8));
    mtaskList5.add(microtaskMap.get(9));
    mtaskList6.add(microtaskMap.get(10));
  }
  @Before
  public void setUpGenerateSessions() throws Exception {
    this.expectedStack = new Stack<WorkerSession>();
    this.mtaskMap = QuestionFactoryMock.generateQuestions();

    Vector<Microtask> mtaskList0 = new Vector<Microtask>();
    mtaskList0.add(mtaskMap.get(0));
    mtaskList0.add(mtaskMap.get(4));

    Vector<Microtask> mtaskList1 = new Vector<Microtask>();
    mtaskList1.add(mtaskMap.get(1));
    mtaskList1.add(mtaskMap.get(5));

    Vector<Microtask> mtaskList2 = new Vector<Microtask>();
    mtaskList2.add(mtaskMap.get(2));
    mtaskList2.add(mtaskMap.get(6));

    Vector<Microtask> mtaskList3 = new Vector<Microtask>();
    mtaskList3.add(mtaskMap.get(3));
    mtaskList3.add(mtaskMap.get(7));

    Vector<Microtask> mtaskList4 = new Vector<Microtask>();
    mtaskList4.add(mtaskMap.get(8));

    Vector<Microtask> mtaskList5 = new Vector<Microtask>();
    mtaskList5.add(mtaskMap.get(9));

    Vector<Microtask> mtaskList6 = new Vector<Microtask>();
    mtaskList6.add(mtaskMap.get(10));

    WorkerSession original0 = new WorkerSession("0", mtaskList0);
    WorkerSession original1 = new WorkerSession("1", mtaskList1);
    WorkerSession original2 = new WorkerSession("2", mtaskList2);
    WorkerSession original3 = new WorkerSession("3", mtaskList3);
    WorkerSession original4 = new WorkerSession("4", mtaskList4);
    WorkerSession original5 = new WorkerSession("5", mtaskList5);
    WorkerSession original6 = new WorkerSession("6", mtaskList6);

    WorkerSession copy0 = new WorkerSession("7", mtaskList0);
    WorkerSession copy1 = new WorkerSession("8", mtaskList1);
    WorkerSession copy2 = new WorkerSession("9", mtaskList2);
    WorkerSession copy3 = new WorkerSession("10", mtaskList3);
    WorkerSession copy4 = new WorkerSession("11", mtaskList4);
    WorkerSession copy5 = new WorkerSession("12", mtaskList5);
    WorkerSession copy6 = new WorkerSession("13", mtaskList6);

    WorkerSession copy00 = new WorkerSession("14", mtaskList0);
    WorkerSession copy11 = new WorkerSession("15", mtaskList1);
    WorkerSession copy22 = new WorkerSession("16", mtaskList2);
    WorkerSession copy33 = new WorkerSession("17", mtaskList3);
    WorkerSession copy44 = new WorkerSession("18", mtaskList4);
    WorkerSession copy55 = new WorkerSession("19", mtaskList5);
    WorkerSession copy66 = new WorkerSession("20", mtaskList6);

    this.expectedStack.push(copy66);
    this.expectedStack.push(copy55);
    this.expectedStack.push(copy44);
    this.expectedStack.push(copy33);
    this.expectedStack.push(copy22);
    this.expectedStack.push(copy11);
    this.expectedStack.push(copy00);
    this.expectedStack.push(copy6);
    this.expectedStack.push(copy5);
    this.expectedStack.push(copy4);
    this.expectedStack.push(copy3);
    this.expectedStack.push(copy2);
    this.expectedStack.push(copy1);
    this.expectedStack.push(copy0);
    this.expectedStack.push(original6);
    this.expectedStack.push(original5);
    this.expectedStack.push(original4);
    this.expectedStack.push(original3);
    this.expectedStack.push(original2);
    this.expectedStack.push(original1);
    this.expectedStack.push(original0); // so the first original is at the top of the stack.
  }