package com.example.android.tvleanback;
import android.media.MediaDescription;
import android.net.Uri;
import android.os.Parcel;
import android.support.test.runner.AndroidJUnit4;
import com.example.android.tvleanback.model.Video;
import org.junit.Test;
import org.junit.runner.RunWith;
import java.util.ArrayList;
import java.util.List;
@RunWith(AndroidJUnit4.class)
public class VideoTest {
@Test
public void VideoParceableTest() {
List<Video> testVideoList = new ArrayList<>();
testVideoList.add(new Video.VideoBuilder()
.title("Dragon Movie")
.description("A delightful kids movie")
.studio("Dream Movies")
.id((long) (Math.random()*100L))
.build());
testVideoList.add(new Video.VideoBuilder()
.title("Grimm Fairy Tales")
.description("A live action adaptation of a classic cartoon")
.studio("Hollywood Studios")
.cardImageUrl("http://example.com/grim_poster.png")
.bgImageUrl("http://example.com/grim_bg.png")
.build());
testVideoList.add(new Video.VideoBuilder()
.title("Kyle")
.description("A live action adaptation of an old story")
.studio("Wolf")
.cardImageUrl("http://example.com/kyle_poster.png")
.bgImageUrl("http://example.com/kyle_bg.png")
.id(200)
.build());
testVideoList.add(new Video.VideoBuilder()
.buildFromMediaDesc(new MediaDescription.Builder()
.setTitle("The Adventures of Albert the Raccoon")
.setDescription("Albert and friends travel around Arnoria completing quests")
.setMediaId("535")
.setSubtitle("Fantasy Productions")
.setIconUri(Uri.parse("http://www.example.co.uk/static/images/raccoon_colour.jpg"))
.build()));
for (Video testVideo : testVideoList) {
Parcel testVideoParcel = Parcel.obtain();
testVideo.writeToParcel(testVideoParcel, 0);
Video testVideoClone = Video.CREATOR.createFromParcel(testVideoParcel);
assert testVideo.id == testVideoClone.id;
assert testVideo.title.equals(testVideoClone.title);
assert testVideo.description.equals(testVideoClone.description);
assert testVideo.category.equals(testVideoClone.category);
assert testVideo.studio.equals(testVideoClone.studio);
assert testVideo.bgImageUrl.equals(testVideoClone.bgImageUrl);
assert testVideo.cardImageUrl.equals(testVideoClone.cardImageUrl);
assert testVideo.toString().equals(testVideoClone.toString());
}
}
}