Ejemplo n.º 1
0
  @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);
  }