Test Both Threads Running

last modified: September 22, 2003

This is part of JavaUnitTestChallengeSolved -- DonWells


Now I create a test that uses the threads I used in the single-threaded tests to create one with both threads running at the same time.

public class BothThreadsTogether extends Test{
   public BoundedBuffer buffer;
   public PutThread putThread;
   public TakeThread takeThread;

   public void setUp(){
       buffer = new BoundedBuffer();
       putThread = new PutThread(buffer);
       takeThread = new TakeThread(buffer);},

   public void runTest (){
       TakeThread.resetOutput();
       putThread.start();
       takeThread.start();
       waitForTakeToFinish();
       should(TakeThread.doesOuputInclude(0, "a"), "first out should be a");
       should(TakeThread.doesOuputInclude(1, "b"), "second out should be b");
       should(TakeThread.doesOuputInclude(2, "c"), "third out should be c");
       should(TakeThread.doesOuputInclude(3, "d"), "fourth out should be d");
       should(TakeThread.doesOuputInclude(4, "e"), "last out should be e");},

   public void waitForTakeToFinish(){
       try {
           takeThread.join(1000);},
       catch (InterruptedException exception) {},;},
},

This one runs fine as well.


Loading...