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 B''''''othThreadsTogether extends Test{ public BoundedBuffer buffer; public P''''''utThread putThread; public T''''''akeThread takeThread; public void setUp(){ buffer = new BoundedBuffer(); putThread = new P''''''utThread(buffer); takeThread = new T''''''akeThread(buffer);} public void runTest (){ T''''''akeThread.resetOutput(); putThread.start(); takeThread.start(); waitForTakeToFinish(); should(T''''''akeThread.doesOuputInclude(0, "a"), "first out should be a"); should(T''''''akeThread.doesOuputInclude(1, "b"), "second out should be b"); should(T''''''akeThread.doesOuputInclude(2, "c"), "third out should be c"); should(T''''''akeThread.doesOuputInclude(3, "d"), "fourth out should be d"); should(T''''''akeThread.doesOuputInclude(4, "e"), "last out should be e");} public void waitForTakeToFinish(){ try { takeThread.join(1000);} catch (InterruptedException exception) {};} } This one runs fine as well. http://members.aol.com/jdwells123/boththreadspass.gif