@@ -0,0 +1,1707 @@
+package me.soundlocker.soundlocker;%0A%0Aimport android.support.annotation.Nullable;%0Aimport android.support.test.runner.AndroidJUnit4;%0Aimport android.test.suitebuilder.annotation.LargeTest;%0A%0Aimport org.junit.Test;%0Aimport org.junit.runner.RunWith;%0A%0Aimport java.net.MalformedURLException;%0Aimport java.net.URL;%0Aimport java.util.concurrent.ExecutionException;%0A%0Aimport static junit.framework.Assert.assertEquals;%0A%0A@RunWith(AndroidJUnit4.class)%0A@LargeTest%0Apublic class SongByteDataDownloaderTest %7B%0A%0A    private static final String NATIVE_PREVIEW_URL_STRING =%0A            %22https://p.scdn.co/mp3-preview/c58cd3ffb9e61ad38cde7658f436b4245cfd2666%22;%0A    private static final Byte%5B%5D NATIVE_BYTE_DATA_TRUNCATED = %7B73,68,51%7D;%0A%0A    @Test%0A    public void songByteDataIsConsistent() %7B%0A        SongByteDataDownloader task = new SongByteDataDownloader(null);%0A        URL url = buildURL();%0A        task.execute(url);%0A        Byte%5B%5D data = getSongByteData(task);%0A        assertEquals(data%5B0%5D, NATIVE_BYTE_DATA_TRUNCATED%5B0%5D);%0A        assertEquals(data%5B1%5D, NATIVE_BYTE_DATA_TRUNCATED%5B1%5D);%0A        assertEquals(data%5B2%5D, NATIVE_BYTE_DATA_TRUNCATED%5B2%5D);%0A    %7D%0A%0A    @Nullable%0A    private URL buildURL() %7B%0A        URL url = null;%0A        try %7B%0A            url = new URL(NATIVE_PREVIEW_URL_STRING);%0A        %7D catch (MalformedURLException e) %7B%0A            e.printStackTrace();%0A        %7D%0A        return url;%0A    %7D%0A%0A    private Byte%5B%5D getSongByteData(SongByteDataDownloader task) %7B%0A        Byte%5B%5D data = null;%0A        try %7B%0A            data = task.get();%0A        %7D catch (InterruptedException e) %7B%0A            e.printStackTrace();%0A        %7D catch (ExecutionException e) %7B%0A            e.printStackTrace();%0A        %7D%0A        return data;%0A    %7D%0A%7D

Add SongByteDataDownloader test