@Test public void testFind() throws SongsLibException, ClientProtocolException, IOException { // Setup Configuration songFinderConfiguration = new Configuration(); Finder finder = EasyMock.createMockBuilder(Finder.class) // .addMockedMethod("buildHttpClientCreator") // .withConstructor(Configuration.class) // .withArgs(songFinderConfiguration) // .createMock(); HttpClientCreator httpClientCreatorMock = EasyMock.createMockBuilder(HttpClientCreator.class) // .addMockedMethod("createHttpClient") // .withConstructor( boolean.class, String.class, String.class, String.class, String.class, int.class) // .withArgs(false, null, null, null, null, 0) // .createMock(); DefaultHttpClient httpClientMock = EasyMock.createMock(DefaultHttpClient.class); expectBuildHttpClientCreator(finder, httpClientCreatorMock); expectCreateHttpClient(httpClientCreatorMock, httpClientMock); expectExecute(httpClientMock); expectGetConnectionManager(httpClientMock); EasyMock.replay(finder, httpClientCreatorMock, httpClientMock); // Test finder.chooseNbResults(10); finder.chooseStyle("rock"); finder.chooseBpm(75); List<Song> result = finder.findSongs(); // Assert EasyMock.verify(finder, httpClientCreatorMock, httpClientMock); Assert.assertEquals(createExpectedResult(), result); }