aboutsummaryrefslogtreecommitdiff
path: root/tests/unit/src/com/android/tv/dvr/RecordingTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/src/com/android/tv/dvr/RecordingTest.java')
-rw-r--r--tests/unit/src/com/android/tv/dvr/RecordingTest.java50
1 files changed, 49 insertions, 1 deletions
diff --git a/tests/unit/src/com/android/tv/dvr/RecordingTest.java b/tests/unit/src/com/android/tv/dvr/RecordingTest.java
index ef012248..e5ffaa3b 100644
--- a/tests/unit/src/com/android/tv/dvr/RecordingTest.java
+++ b/tests/unit/src/com/android/tv/dvr/RecordingTest.java
@@ -16,20 +16,31 @@
package com.android.tv.dvr;
+import static com.android.tv.testing.dvr.RecordingTestUtils.createTestRecordingWithIdAndPeriod;
+import static com.android.tv.testing.dvr.RecordingTestUtils.normalizePriority;
+
+import android.test.MoreAsserts;
import android.test.suitebuilder.annotation.SmallTest;
import android.util.Range;
+import com.android.tv.data.Channel;
+import com.android.tv.data.Program;
import com.android.tv.testing.dvr.RecordingTestUtils;
import junit.framework.TestCase;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+
/**
* Tests for {@link RecordingTest}
*/
@SmallTest
public class RecordingTest extends TestCase {
public void testIsOverLapping() throws Exception {
- Recording r = RecordingTestUtils.createTestRecordingWithPeriod(1, 10L, 20L);
+ Recording r = createTestRecordingWithIdAndPeriod(1, 10L, 20L);
assertOverLapping(false, 1L, 9L, r);
assertOverLapping(true, 1L, 20L, r);
@@ -43,6 +54,43 @@ public class RecordingTest extends TestCase {
assertOverLapping(false, 21L, 29L, r);
}
+ public void testBuildProgram() {
+ Channel c = new Channel.Builder().build();
+ Program p = new Program.Builder().build();
+ Recording actual = Recording.builder(c, p).build();
+ assertEquals("type", Recording.TYPE_PROGRAM, actual.getType());
+ }
+
+ public void testBuildTime() {
+ Recording actual = createTestRecordingWithIdAndPeriod(1, 10L, 20L);
+ assertEquals("type", Recording.TYPE_TIMED, actual.getType());
+ }
+
+ public void testBuildFrom() {
+ Recording expected = createTestRecordingWithIdAndPeriod(1, 10L, 20L);
+ Recording actual = Recording.buildFrom(expected).build();
+ RecordingTestUtils.assertRecordingEquals(expected, actual);
+ }
+
+ public void testBuild_priority() {
+ Recording a = normalizePriority(createTestRecordingWithIdAndPeriod(1, 10L, 20L));
+ Recording b = normalizePriority(createTestRecordingWithIdAndPeriod(2, 10L, 20L));
+ Recording c = normalizePriority(createTestRecordingWithIdAndPeriod(3, 10L, 20L));
+
+ // default priority
+ MoreAsserts.assertContentsInOrder(sortByPriority(c,b,a), a, b, c);
+
+ // make C preferred over B
+ c = Recording.buildFrom(c).setPriority(b.getPriority() - 1).build();
+ MoreAsserts.assertContentsInOrder(sortByPriority(c,b,a), a, c, b);
+ }
+
+ public Collection<Recording> sortByPriority(Recording a, Recording b, Recording c) {
+ List<Recording> list = Arrays.asList(a, b, c);
+ Collections.sort(list, Recording.PRIORITY_COMPARATOR);
+ return list;
+ }
+
private void assertOverLapping(boolean expected, long lower, long upper, Recording r) {
assertEquals("isOverlapping(Range(" + lower + "," + upper + "), recording " + r, expected,
r.isOverLapping(new Range<Long>(lower, upper)));