Search in sources :

Example 11 with Track

use of com.github.hakko.musiccabinet.domain.model.music.Track in project musiccabinet by hakko.

the class ArtistTopTracksParserTest method verifyTopTrack.

private void verifyTopTrack(ArtistTopTracksParser parser, int trackIndex, String trackName) {
    Track track = parser.getTopTracks().get(trackIndex);
    assertTrue(track.getName().equals(trackName));
}
Also used : Track(com.github.hakko.musiccabinet.domain.model.music.Track)

Example 12 with Track

use of com.github.hakko.musiccabinet.domain.model.music.Track in project musiccabinet by hakko.

the class ArtistTopTracksParserTest method resourceFileCorrectlyParsed.

@Test
public void resourceFileCorrectlyParsed() throws ApplicationException {
    ArtistTopTracksParser parser = new ArtistTopTracksParserImpl(new ResourceUtil(TOP_TRACK_FILE).getInputStream());
    assertNotNull(parser.getArtist());
    assertNotNull(parser.getTopTracks());
    assertTrue(parser.getArtist().getName().equals("Cher"));
    assertEquals(parser.getTopTracks().size(), 50);
    for (Track track : parser.getTopTracks()) {
        assertNotNull(track);
        assertNotNull(track.getArtist());
        assertEquals(track.getArtist(), parser.getArtist());
    }
    verifyTopTrack(parser, 0, "Believe");
    verifyTopTrack(parser, 1, "If I Could Turn Back Time");
    verifyTopTrack(parser, 2, "Welcome To Burlesque");
    verifyTopTrack(parser, 49, "Gypsys, Tramps and Thieves");
}
Also used : ResourceUtil(com.github.hakko.musiccabinet.util.ResourceUtil) Track(com.github.hakko.musiccabinet.domain.model.music.Track) Test(org.junit.Test)

Example 13 with Track

use of com.github.hakko.musiccabinet.domain.model.music.Track in project musiccabinet by hakko.

the class JdbcWebserviceHistoryDaoTest method importTrackSimilaritiesIsNotPossibleTwice.

@Test
public void importTrackSimilaritiesIsNotPossibleTwice() {
    Calltype SIMILAR = Calltype.TRACK_GET_SIMILAR;
    Artist artist = new Artist("Bill Fay");
    Track track1 = new Track(artist, "Omega");
    Track track2 = new Track(artist, "Don't let my marigolds die");
    WebserviceInvocation similarTrack1 = new WebserviceInvocation(SIMILAR, track1);
    WebserviceInvocation similarTrack2 = new WebserviceInvocation(SIMILAR, track2);
    deleteWebserviceInvocations();
    assertTrue(dao.isWebserviceInvocationAllowed(similarTrack1));
    assertTrue(dao.isWebserviceInvocationAllowed(similarTrack2));
    dao.logWebserviceInvocation(similarTrack2);
    assertTrue(dao.isWebserviceInvocationAllowed(similarTrack1));
    assertFalse(dao.isWebserviceInvocationAllowed(similarTrack2));
}
Also used : Artist(com.github.hakko.musiccabinet.domain.model.music.Artist) Calltype(com.github.hakko.musiccabinet.domain.model.library.WebserviceInvocation.Calltype) WebserviceInvocation(com.github.hakko.musiccabinet.domain.model.library.WebserviceInvocation) Track(com.github.hakko.musiccabinet.domain.model.music.Track) Test(org.junit.Test)

Example 14 with Track

use of com.github.hakko.musiccabinet.domain.model.music.Track in project musiccabinet by hakko.

the class TrackPlayCountTest method validateSetters.

@Test
public void validateSetters() {
    String artistName = "madonna";
    String trackName = "material girl";
    int playCount = 30;
    TrackPlayCount tpc = new TrackPlayCount();
    tpc.setTrack(new Track(artistName, trackName));
    tpc.setPlayCount(playCount);
    Assert.assertEquals(tpc.getTrack(), new Track(artistName, trackName));
    Assert.assertEquals(tpc.getPlayCount(), playCount);
}
Also used : Track(com.github.hakko.musiccabinet.domain.model.music.Track) Test(org.junit.Test)

Example 15 with Track

use of com.github.hakko.musiccabinet.domain.model.music.Track in project musiccabinet by hakko.

the class UserLovedTracksService method updateUserLovedTracks.

private void updateUserLovedTracks() throws ApplicationException {
    List<LastFmUser> users = lastFmSettingsService.getLastFmUsers();
    setTotalOperations(users.size());
    List<UserLovedTracks> userLovedTracks = new ArrayList<>();
    for (LastFmUser user : users) {
        short page = 0, totalPages = 0;
        List<Track> lovedTracks = new ArrayList<>();
        do {
            WSResponse wsResponse = userLovedTracksClient.getUserLovedTracks(user, page);
            if (wsResponse.wasCallAllowed() && wsResponse.wasCallSuccessful()) {
                StringUtil stringUtil = new StringUtil(wsResponse.getResponseBody());
                UserLovedTracksParser parser = new UserLovedTracksParserImpl(stringUtil.getInputStream());
                totalPages = parser.getTotalPages();
                lovedTracks.addAll(parser.getLovedTracks());
            }
        } while (++page < totalPages);
        addFinishedOperation();
        userLovedTracks.add(new UserLovedTracks(user.getLastFmUsername(), lovedTracks));
    }
    userLovedTracksDao.createLovedTracks(userLovedTracks);
    for (UserStarredTrack ust : userLovedTracksDao.getStarredButNotLovedTracks()) {
        trackLoveClient.love(ust.getStarredTrack(), ust.getLastFmUser());
    }
}
Also used : UserStarredTrack(com.github.hakko.musiccabinet.domain.model.aggr.UserStarredTrack) ArrayList(java.util.ArrayList) WSResponse(com.github.hakko.musiccabinet.ws.lastfm.WSResponse) UserLovedTracks(com.github.hakko.musiccabinet.domain.model.aggr.UserLovedTracks) UserLovedTracksParserImpl(com.github.hakko.musiccabinet.parser.lastfm.UserLovedTracksParserImpl) LastFmUser(com.github.hakko.musiccabinet.domain.model.library.LastFmUser) StringUtil(com.github.hakko.musiccabinet.util.StringUtil) UserLovedTracksParser(com.github.hakko.musiccabinet.parser.lastfm.UserLovedTracksParser) UserStarredTrack(com.github.hakko.musiccabinet.domain.model.aggr.UserStarredTrack) Track(com.github.hakko.musiccabinet.domain.model.music.Track)

Aggregations

Track (com.github.hakko.musiccabinet.domain.model.music.Track)40 Test (org.junit.Test)23 LastFmUser (com.github.hakko.musiccabinet.domain.model.library.LastFmUser)9 Artist (com.github.hakko.musiccabinet.domain.model.music.Artist)9 UserStarredTrack (com.github.hakko.musiccabinet.domain.model.aggr.UserStarredTrack)6 File (com.github.hakko.musiccabinet.domain.model.library.File)5 Album (com.github.hakko.musiccabinet.domain.model.music.Album)5 ResourceUtil (com.github.hakko.musiccabinet.util.ResourceUtil)5 UserLovedTracks (com.github.hakko.musiccabinet.domain.model.aggr.UserLovedTracks)4 WebserviceInvocation (com.github.hakko.musiccabinet.domain.model.library.WebserviceInvocation)4 ApplicationException (com.github.hakko.musiccabinet.exception.ApplicationException)4 UnittestLibraryUtil.getFile (com.github.hakko.musiccabinet.util.UnittestLibraryUtil.getFile)4 ArrayList (java.util.ArrayList)4 NameValuePair (org.apache.http.NameValuePair)4 Before (org.junit.Before)4 MetaData (com.github.hakko.musiccabinet.domain.model.library.MetaData)3 Calltype (com.github.hakko.musiccabinet.domain.model.library.WebserviceInvocation.Calltype)3 UserLovedTracksParserImpl (com.github.hakko.musiccabinet.parser.lastfm.UserLovedTracksParserImpl)3 UnittestLibraryUtil.submitFile (com.github.hakko.musiccabinet.util.UnittestLibraryUtil.submitFile)3 WSResponse (com.github.hakko.musiccabinet.ws.lastfm.WSResponse)3