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));
}
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");
}
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));
}
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);
}
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());
}
}
Aggregations