Package se.despotify.client.protocol.command.media.playlist

Source Code of se.despotify.client.protocol.command.media.playlist.TestAddTracksToPlaylist

package se.despotify.client.protocol.command.media.playlist;

import org.junit.Test;
import se.despotify.DespotifyClientTest;
import se.despotify.domain.media.Playlist;

import java.util.Random;

/**
* @since 2009-apr-23 09:56:01
*/
public class TestAddTracksToPlaylist extends DespotifyClientTest {

  @Test
  public void testAddTracksToPlaylist() throws Exception {

    String playlistName = randomPlaylistName();


    new LoadUserPlaylists(store, user).send(connection.getProtocol());
    int playlistsFromStart = user.getPlaylists().getItems().size();

    Playlist playlist = new CreatePlaylist(store, user, playlistName, false).send(connection.getProtocol());

    assertEquals(playlistsFromStart + 1, user.getPlaylists().getItems().size());

    long[] checksums = new long[]{
        1461913864l,
        823267316l,
        2339641349l,
        1904484306l,
        3794544626l,
    };

    for (int i = 0; i < checksums.length; i++) {
      log.info("\n\n\n\n\n\n\n           ADD TRACK " + i + "\n\n\n\n\n\n\n\n\n");
      new AddTrackToPlaylist(store, user, playlist, defaultTracks[i], null).send(connection.getProtocol());
      assertEquals(checksums[i], playlist.calculateChecksum());
      assertEquals(checksums[i], playlist.getChecksum().longValue());
      assertEquals(i + 1, playlist.getTracks().size());
      assertEquals(defaultTracks[i], playlist.getTracks().get(i));

      // todo get list using alternative connection and assert the same

    }

    for (int i = checksums.length; i > 1; i--) {
      log.info("\n\n\n\n\n\n\n           REMOVE TRACK " + i + "\n\n\n\n\n\n\n\n\n");
      new RemoveTrackFromPlaylist(store, user, playlist, i).send(connection.getProtocol());
      assertEquals(checksums[i - 2], playlist.calculateChecksum());
      assertEquals(checksums[i - 2], playlist.getChecksum().longValue());
      assertEquals(i - 1, playlist.getTracks().size());

      // todo get list using alternative connection and assert the same

    }

    assertTrue(new RemovePlaylistFromUser(store, user, playlist).send(connection.getProtocol()));

    assertEquals(playlistsFromStart, user.getPlaylists().getItems().size());

  }
}

//
TOP

Related Classes of se.despotify.client.protocol.command.media.playlist.TestAddTracksToPlaylist

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.