aboutsummaryrefslogtreecommitdiff
path: root/tests/unit/src/com/android/tv/recommendation
diff options
context:
space:
mode:
authorNick Chalko <nchalko@google.com>2017-10-03 10:16:37 -0700
committerNick Chalko <nchalko@google.com>2017-10-04 13:48:13 +0000
commit6ebde20b03db4c0d57f67acaac11832b610b966b (patch)
treed31e2adc1f9cce4f27ca07d30bee921032e33a3c /tests/unit/src/com/android/tv/recommendation
parentee027a576ddebaf1ae739219be01b0240b15f80c (diff)
downloadTV-6ebde20b03db4c0d57f67acaac11832b610b966b.tar.gz
Sync to match Live Channels 1.15(ncis)oreo-mr1-dev
aka ub-tv-dev at a73a150bb7d0d1ce867ef980c6ac8411899d40ad Bug: 64021596 Change-Id: I7c544fd15e2c58784f8babc31877ad0dfeebb4c0 (cherry picked from commit 633eb826b8c97731dfc5ef12c7bf78a63734275d)
Diffstat (limited to 'tests/unit/src/com/android/tv/recommendation')
-rw-r--r--tests/unit/src/com/android/tv/recommendation/ChannelRecordTest.java22
-rw-r--r--tests/unit/src/com/android/tv/recommendation/EvaluatorTestCase.java30
-rw-r--r--tests/unit/src/com/android/tv/recommendation/FavoriteChannelEvaluatorTest.java16
-rw-r--r--tests/unit/src/com/android/tv/recommendation/RecentChannelEvaluatorTest.java15
-rw-r--r--tests/unit/src/com/android/tv/recommendation/RecommendationUtils.java1
-rw-r--r--tests/unit/src/com/android/tv/recommendation/RecommenderTest.java27
-rw-r--r--tests/unit/src/com/android/tv/recommendation/RoutineWatchEvaluatorTest.java35
7 files changed, 111 insertions, 35 deletions
diff --git a/tests/unit/src/com/android/tv/recommendation/ChannelRecordTest.java b/tests/unit/src/com/android/tv/recommendation/ChannelRecordTest.java
index c76de8fb..db765109 100644
--- a/tests/unit/src/com/android/tv/recommendation/ChannelRecordTest.java
+++ b/tests/unit/src/com/android/tv/recommendation/ChannelRecordTest.java
@@ -16,11 +16,16 @@
package com.android.tv.recommendation;
+import static android.support.test.InstrumentationRegistry.getContext;
+import static org.junit.Assert.assertEquals;
+
import android.support.test.filters.SmallTest;
-import android.test.AndroidTestCase;
import com.android.tv.testing.Utils;
+import org.junit.Before;
+import org.junit.Test;
+
import java.util.Random;
import java.util.concurrent.TimeUnit;
@@ -28,31 +33,33 @@ import java.util.concurrent.TimeUnit;
* Unit tests for {@link ChannelRecord}.
*/
@SmallTest
-public class ChannelRecordTest extends AndroidTestCase {
+public class ChannelRecordTest {
private static final int CHANNEL_RECORD_MAX_HISTORY_SIZE = ChannelRecord.MAX_HISTORY_SIZE;
private Random mRandom;
private ChannelRecord mChannelRecord;
private long mLatestWatchEndTimeMs;
- @Override
- public void setUp() throws Exception {
- super.setUp();
+ @Before
+ public void setUp() {
mLatestWatchEndTimeMs = System.currentTimeMillis() - TimeUnit.DAYS.toMillis(1);
mChannelRecord = new ChannelRecord(getContext(), null, false);
mRandom = Utils.createTestRandom();
}
+ @Test
public void testGetLastWatchEndTime_noHistory() {
assertEquals(0, mChannelRecord.getLastWatchEndTimeMs());
}
+ @Test
public void testGetLastWatchEndTime_oneHistory() {
addWatchLog();
assertEquals(mLatestWatchEndTimeMs, mChannelRecord.getLastWatchEndTimeMs());
}
+ @Test
public void testGetLastWatchEndTime_maxHistories() {
for (int i = 0; i < CHANNEL_RECORD_MAX_HISTORY_SIZE; ++i) {
addWatchLog();
@@ -61,6 +68,7 @@ public class ChannelRecordTest extends AndroidTestCase {
assertEquals(mLatestWatchEndTimeMs, mChannelRecord.getLastWatchEndTimeMs());
}
+ @Test
public void testGetLastWatchEndTime_moreThanMaxHistories() {
for (int i = 0; i < CHANNEL_RECORD_MAX_HISTORY_SIZE + 1; ++i) {
addWatchLog();
@@ -69,16 +77,19 @@ public class ChannelRecordTest extends AndroidTestCase {
assertEquals(mLatestWatchEndTimeMs, mChannelRecord.getLastWatchEndTimeMs());
}
+ @Test
public void testGetTotalWatchDuration_noHistory() {
assertEquals(0, mChannelRecord.getTotalWatchDurationMs());
}
+ @Test
public void testGetTotalWatchDuration_oneHistory() {
long durationMs = addWatchLog();
assertEquals(durationMs, mChannelRecord.getTotalWatchDurationMs());
}
+ @Test
public void testGetTotalWatchDuration_maxHistories() {
long totalWatchTimeMs = 0;
for (int i = 0; i < CHANNEL_RECORD_MAX_HISTORY_SIZE; ++i) {
@@ -89,6 +100,7 @@ public class ChannelRecordTest extends AndroidTestCase {
assertEquals(totalWatchTimeMs, mChannelRecord.getTotalWatchDurationMs());
}
+ @Test
public void testGetTotalWatchDuration_moreThanMaxHistories() {
long totalWatchTimeMs = 0;
long firstDurationMs = 0;
diff --git a/tests/unit/src/com/android/tv/recommendation/EvaluatorTestCase.java b/tests/unit/src/com/android/tv/recommendation/EvaluatorTestCase.java
index 0255947b..853fb245 100644
--- a/tests/unit/src/com/android/tv/recommendation/EvaluatorTestCase.java
+++ b/tests/unit/src/com/android/tv/recommendation/EvaluatorTestCase.java
@@ -16,30 +16,35 @@
package com.android.tv.recommendation;
-import android.test.AndroidTestCase;
+import static android.support.test.InstrumentationRegistry.getContext;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
import com.android.tv.data.Channel;
import com.android.tv.recommendation.RecommendationUtils.ChannelRecordSortedMapHelper;
import com.android.tv.recommendation.Recommender.Evaluator;
import com.android.tv.testing.Utils;
+import org.junit.Before;
+
import java.util.ArrayList;
import java.util.List;
/**
* Base test case for Recommendation Evaluator Unit tests.
*/
-public abstract class EvaluatorTestCase<T extends Evaluator> extends AndroidTestCase {
+public abstract class EvaluatorTestCase<T extends Evaluator> {
private static final long INVALID_CHANNEL_ID = -1;
+ private static final double SCORE_DELTA = 0.01;
+
private ChannelRecordSortedMapHelper mChannelRecordSortedMap;
private RecommendationDataManager mDataManager;
public T mEvaluator;
- @Override
- public void setUp() throws Exception {
- super.setUp();
+ @Before
+ public void setUp() {
mChannelRecordSortedMap = new ChannelRecordSortedMapHelper(getContext());
mDataManager = RecommendationUtils
.createMockRecommendationDataManager(mChannelRecordSortedMap);
@@ -91,8 +96,9 @@ public abstract class EvaluatorTestCase<T extends Evaluator> extends AndroidTest
* Check whether scores of each channels are valid.
*/
protected void assertChannelScoresValid() {
- assertEquals(Evaluator.NOT_RECOMMENDED, mEvaluator.evaluateChannel(INVALID_CHANNEL_ID));
- assertEquals(Evaluator.NOT_RECOMMENDED,
+ assertEqualScores(Evaluator.NOT_RECOMMENDED,
+ mEvaluator.evaluateChannel(INVALID_CHANNEL_ID));
+ assertEqualScores(Evaluator.NOT_RECOMMENDED,
mEvaluator.evaluateChannel(mChannelRecordSortedMap.size()));
for (long channelId : mChannelRecordSortedMap.keySet()) {
@@ -109,6 +115,14 @@ public abstract class EvaluatorTestCase<T extends Evaluator> extends AndroidTest
mEvaluator.onChannelRecordListChanged(new ArrayList<>(mChannelRecordSortedMap.values()));
}
+ void assertEqualScores(double expected, double actual) {
+ assertEquals(expected, actual, SCORE_DELTA);
+ }
+
+ void assertEqualScores(String message, double expected, double actual) {
+ assertEquals(message, expected, actual, SCORE_DELTA);
+ }
+
private class FakeRecommender extends Recommender {
public FakeRecommender() {
super(new Recommender.Listener() {
@@ -120,7 +134,7 @@ public abstract class EvaluatorTestCase<T extends Evaluator> extends AndroidTest
public void onRecommendationChanged() {
}
}, true, mDataManager);
- }
+ }
@Override
public ChannelRecord getChannelRecord(long channelId) {
diff --git a/tests/unit/src/com/android/tv/recommendation/FavoriteChannelEvaluatorTest.java b/tests/unit/src/com/android/tv/recommendation/FavoriteChannelEvaluatorTest.java
index aae3a932..ac701af9 100644
--- a/tests/unit/src/com/android/tv/recommendation/FavoriteChannelEvaluatorTest.java
+++ b/tests/unit/src/com/android/tv/recommendation/FavoriteChannelEvaluatorTest.java
@@ -16,8 +16,12 @@
package com.android.tv.recommendation;
+import static org.junit.Assert.assertTrue;
+
import android.support.test.filters.SmallTest;
+import org.junit.Test;
+
import java.util.List;
import java.util.concurrent.TimeUnit;
@@ -38,14 +42,16 @@ public class FavoriteChannelEvaluatorTest extends EvaluatorTestCase<FavoriteChan
return new FavoriteChannelEvaluator();
}
+ @Test
public void testOneChannelWithNoWatchLog() {
long channelId = addChannel().getId();
notifyChannelAndWatchLogLoaded();
- assertEquals(Recommender.Evaluator.NOT_RECOMMENDED,
+ assertEqualScores(Recommender.Evaluator.NOT_RECOMMENDED,
mEvaluator.evaluateChannel(channelId));
}
+ @Test
public void testOneChannelWithRandomWatchLogs() {
addChannel();
addRandomWatchLogs(DEFAULT_WATCH_START_TIME_MS, DEFAULT_WATCH_END_TIME_MS,
@@ -55,17 +61,19 @@ public class FavoriteChannelEvaluatorTest extends EvaluatorTestCase<FavoriteChan
assertChannelScoresValid();
}
+ @Test
public void testMultiChannelsWithNoWatchLog() {
addChannels(DEFAULT_NUMBER_OF_CHANNELS);
notifyChannelAndWatchLogLoaded();
List<Long> channelIdList = getChannelIdListSorted();
for (long channelId : channelIdList) {
- assertEquals(Recommender.Evaluator.NOT_RECOMMENDED,
+ assertEqualScores(Recommender.Evaluator.NOT_RECOMMENDED,
mEvaluator.evaluateChannel(channelId));
}
}
+ @Test
public void testMultiChannelsWithRandomWatchLogs() {
addChannels(DEFAULT_NUMBER_OF_CHANNELS);
addRandomWatchLogs(DEFAULT_WATCH_START_TIME_MS, DEFAULT_WATCH_END_TIME_MS,
@@ -75,6 +83,7 @@ public class FavoriteChannelEvaluatorTest extends EvaluatorTestCase<FavoriteChan
assertChannelScoresValid();
}
+ @Test
public void testMultiChannelsWithSimpleWatchLogs() {
addChannels(DEFAULT_NUMBER_OF_CHANNELS);
// For two channels which has ID x and y (x < y), the channel y is more watched
@@ -99,6 +108,7 @@ public class FavoriteChannelEvaluatorTest extends EvaluatorTestCase<FavoriteChan
}
}
+ @Test
public void testTwoChannelsWithSameWatchDuration() {
long channelOne = addChannel().getId();
long channelTwo = addChannel().getId();
@@ -112,6 +122,7 @@ public class FavoriteChannelEvaluatorTest extends EvaluatorTestCase<FavoriteChan
mEvaluator.evaluateChannel(channelTwo));
}
+ @Test
public void testTwoChannelsWithDifferentWatchDuration() {
long channelOne = addChannel().getId();
long channelTwo = addChannel().getId();
@@ -131,6 +142,7 @@ public class FavoriteChannelEvaluatorTest extends EvaluatorTestCase<FavoriteChan
assertTrue(mEvaluator.evaluateChannel(channelOne) > mEvaluator.evaluateChannel(channelTwo));
}
+ @Test
public void testScoreIncreasesWithNewWatchLog() {
long channelId = addChannel().getId();
addRandomWatchLogs(DEFAULT_WATCH_START_TIME_MS, DEFAULT_WATCH_END_TIME_MS,
diff --git a/tests/unit/src/com/android/tv/recommendation/RecentChannelEvaluatorTest.java b/tests/unit/src/com/android/tv/recommendation/RecentChannelEvaluatorTest.java
index 55a4e4ac..8f092238 100644
--- a/tests/unit/src/com/android/tv/recommendation/RecentChannelEvaluatorTest.java
+++ b/tests/unit/src/com/android/tv/recommendation/RecentChannelEvaluatorTest.java
@@ -16,8 +16,12 @@
package com.android.tv.recommendation;
+import static org.junit.Assert.assertTrue;
+
import android.support.test.filters.SmallTest;
+import org.junit.Test;
+
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -40,14 +44,16 @@ public class RecentChannelEvaluatorTest extends EvaluatorTestCase<RecentChannelE
return new RecentChannelEvaluator();
}
+ @Test
public void testOneChannelWithNoWatchLog() {
long channelId = addChannel().getId();
notifyChannelAndWatchLogLoaded();
- assertEquals(Recommender.Evaluator.NOT_RECOMMENDED,
+ assertEqualScores(Recommender.Evaluator.NOT_RECOMMENDED,
mEvaluator.evaluateChannel(channelId));
}
+ @Test
public void testOneChannelWithRandomWatchLogs() {
addChannel();
addRandomWatchLogs(DEFAULT_WATCH_START_TIME_MS, DEFAULT_WATCH_END_TIME_MS,
@@ -57,17 +63,19 @@ public class RecentChannelEvaluatorTest extends EvaluatorTestCase<RecentChannelE
assertChannelScoresValid();
}
+ @Test
public void testMultiChannelsWithNoWatchLog() {
addChannels(DEFAULT_NUMBER_OF_CHANNELS);
notifyChannelAndWatchLogLoaded();
List<Long> channelIdList = getChannelIdListSorted();
for (long channelId : channelIdList) {
- assertEquals(Recommender.Evaluator.NOT_RECOMMENDED,
+ assertEqualScores(Recommender.Evaluator.NOT_RECOMMENDED,
mEvaluator.evaluateChannel(channelId));
}
}
+ @Test
public void testMultiChannelsWithRandomWatchLogs() {
addChannels(DEFAULT_NUMBER_OF_CHANNELS);
addRandomWatchLogs(DEFAULT_WATCH_START_TIME_MS, DEFAULT_WATCH_END_TIME_MS,
@@ -77,6 +85,7 @@ public class RecentChannelEvaluatorTest extends EvaluatorTestCase<RecentChannelE
assertChannelScoresValid();
}
+ @Test
public void testMultiChannelsWithSimpleWatchLogs() {
addChannels(DEFAULT_NUMBER_OF_CHANNELS);
// Every channel has one watch log with 1 hour. Also, for two channels
@@ -99,6 +108,7 @@ public class RecentChannelEvaluatorTest extends EvaluatorTestCase<RecentChannelE
}
}
+ @Test
public void testScoreIncreasesWithNewWatchLog() {
addChannels(DEFAULT_NUMBER_OF_CHANNELS);
addRandomWatchLogs(DEFAULT_WATCH_START_TIME_MS, DEFAULT_WATCH_END_TIME_MS,
@@ -119,6 +129,7 @@ public class RecentChannelEvaluatorTest extends EvaluatorTestCase<RecentChannelE
}
}
+ @Test
public void testScoreDecreasesWithIncrementOfWatchedLogUpdatedTime() {
addChannels(DEFAULT_NUMBER_OF_CHANNELS);
addRandomWatchLogs(DEFAULT_WATCH_START_TIME_MS, DEFAULT_WATCH_END_TIME_MS,
diff --git a/tests/unit/src/com/android/tv/recommendation/RecommendationUtils.java b/tests/unit/src/com/android/tv/recommendation/RecommendationUtils.java
index 4a613995..b00ed16b 100644
--- a/tests/unit/src/com/android/tv/recommendation/RecommendationUtils.java
+++ b/tests/unit/src/com/android/tv/recommendation/RecommendationUtils.java
@@ -34,7 +34,6 @@ import java.util.TreeMap;
import java.util.concurrent.TimeUnit;
public class RecommendationUtils {
- private static final String TAG = "RecommendationUtils";
private static final long INVALID_CHANNEL_ID = -1;
/**
diff --git a/tests/unit/src/com/android/tv/recommendation/RecommenderTest.java b/tests/unit/src/com/android/tv/recommendation/RecommenderTest.java
index 5270ffce..85524a82 100644
--- a/tests/unit/src/com/android/tv/recommendation/RecommenderTest.java
+++ b/tests/unit/src/com/android/tv/recommendation/RecommenderTest.java
@@ -16,14 +16,21 @@
package com.android.tv.recommendation;
+import static android.support.test.InstrumentationRegistry.getContext;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
import android.support.test.filters.SmallTest;
-import android.test.AndroidTestCase;
import android.test.MoreAsserts;
import com.android.tv.data.Channel;
import com.android.tv.recommendation.RecommendationUtils.ChannelRecordSortedMapHelper;
import com.android.tv.testing.Utils;
+import org.junit.Before;
+import org.junit.Test;
+
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -34,7 +41,7 @@ import java.util.Map;
import java.util.concurrent.TimeUnit;
@SmallTest
-public class RecommenderTest extends AndroidTestCase {
+public class RecommenderTest {
private static final int DEFAULT_NUMBER_OF_CHANNELS = 5;
private static final long DEFAULT_WATCH_START_TIME_MS =
System.currentTimeMillis() - TimeUnit.DAYS.toMillis(2);
@@ -72,16 +79,15 @@ public class RecommenderTest extends AndroidTestCase {
private Channel mChannel_3;
private Channel mChannel_4;
- @Override
- public void setUp() throws Exception {
- super.setUp();
-
+ @Before
+ public void setUp() {
mChannelRecordSortedMap = new ChannelRecordSortedMapHelper(getContext());
mDataManager = RecommendationUtils
.createMockRecommendationDataManager(mChannelRecordSortedMap);
mChannelRecordSortedMap.resetRandom(Utils.createTestRandom());
}
+ @Test
public void testRecommendChannels_includeRecommendedOnly_allChannelsHaveNoScore() {
createRecommender(true, START_DATAMANAGER_RUNNABLE_ADD_FOUR_CHANNELS);
@@ -94,6 +100,7 @@ public class RecommenderTest extends AndroidTestCase {
assertEquals(0, mRecommender.recommendChannels(5).size());
}
+ @Test
public void testRecommendChannels_notIncludeRecommendedOnly_allChannelsHaveNoScore() {
createRecommender(false, START_DATAMANAGER_RUNNABLE_ADD_FOUR_CHANNELS);
@@ -106,6 +113,7 @@ public class RecommenderTest extends AndroidTestCase {
assertEquals(4, mRecommender.recommendChannels(5).size());
}
+ @Test
public void testRecommendChannels_includeRecommendedOnly_allChannelsHaveScore() {
createRecommender(true, START_DATAMANAGER_RUNNABLE_ADD_FOUR_CHANNELS);
@@ -125,6 +133,7 @@ public class RecommenderTest extends AndroidTestCase {
mChannel_4, mChannel_3, mChannel_2, mChannel_1);
}
+ @Test
public void testRecommendChannels_notIncludeRecommendedOnly_allChannelsHaveScore() {
createRecommender(false, START_DATAMANAGER_RUNNABLE_ADD_FOUR_CHANNELS);
@@ -144,6 +153,7 @@ public class RecommenderTest extends AndroidTestCase {
mChannel_4, mChannel_3, mChannel_2, mChannel_1);
}
+ @Test
public void testRecommendChannels_includeRecommendedOnly_fewChannelsHaveScore() {
createRecommender(true, START_DATAMANAGER_RUNNABLE_ADD_FOUR_CHANNELS);
@@ -163,6 +173,7 @@ public class RecommenderTest extends AndroidTestCase {
mChannel_1, mChannel_2);
}
+ @Test
public void testRecommendChannels_notIncludeRecommendedOnly_fewChannelsHaveScore() {
createRecommender(false, START_DATAMANAGER_RUNNABLE_ADD_FOUR_CHANNELS);
@@ -189,6 +200,7 @@ public class RecommenderTest extends AndroidTestCase {
mChannel_1, mChannel_2);
}
+ @Test
public void testGetChannelSortKey_recommendAllChannels() {
createRecommender(true, START_DATAMANAGER_RUNNABLE_ADD_FOUR_CHANNELS);
@@ -203,6 +215,7 @@ public class RecommenderTest extends AndroidTestCase {
assertSortKeyNotInvalid(channelList);
}
+ @Test
public void testGetChannelSortKey_recommendFewChannels() {
// Test with recommending 3 channels.
createRecommender(true, START_DATAMANAGER_RUNNABLE_ADD_FOUR_CHANNELS);
@@ -221,6 +234,7 @@ public class RecommenderTest extends AndroidTestCase {
assertSortKeyNotInvalid(channelList);
}
+ @Test
public void testListener_onRecommendationChanged() {
createRecommender(true, START_DATAMANAGER_RUNNABLE_ADD_FOUR_CHANNELS);
// FakeEvaluator doesn't recommend a channel with empty watch log. As every channel
@@ -245,6 +259,7 @@ public class RecommenderTest extends AndroidTestCase {
assertTrue(mOnRecommendationChanged);
}
+ @Test
public void testListener_onRecommenderReady() {
createRecommender(true, new Runnable() {
@Override
diff --git a/tests/unit/src/com/android/tv/recommendation/RoutineWatchEvaluatorTest.java b/tests/unit/src/com/android/tv/recommendation/RoutineWatchEvaluatorTest.java
index c9e21e9d..7b8e256d 100644
--- a/tests/unit/src/com/android/tv/recommendation/RoutineWatchEvaluatorTest.java
+++ b/tests/unit/src/com/android/tv/recommendation/RoutineWatchEvaluatorTest.java
@@ -16,12 +16,16 @@
package com.android.tv.recommendation;
+import static org.junit.Assert.assertEquals;
+
import android.support.test.filters.SmallTest;
import android.test.MoreAsserts;
import com.android.tv.data.Program;
import com.android.tv.recommendation.RoutineWatchEvaluator.ProgramTime;
+import org.junit.Test;
+
import java.util.Arrays;
import java.util.Calendar;
import java.util.List;
@@ -61,6 +65,7 @@ public class RoutineWatchEvaluatorTest extends EvaluatorTestCase<RoutineWatchEva
return new RoutineWatchEvaluator();
}
+ @Test
public void testSplitTextToWords() {
assertSplitTextToWords("");
assertSplitTextToWords("Google", "Google");
@@ -71,6 +76,7 @@ public class RoutineWatchEvaluatorTest extends EvaluatorTestCase<RoutineWatchEva
assertSplitTextToWords("A.I.", "A.I");
}
+ @Test
public void testCalculateMaximumMatchedWordSequenceLength() {
assertMaximumMatchedWordSequenceLength(0, "", "Google");
assertMaximumMatchedWordSequenceLength(2, "The Big Bang Theory", "Big Bang");
@@ -82,25 +88,29 @@ public class RoutineWatchEvaluatorTest extends EvaluatorTestCase<RoutineWatchEva
assertMaximumMatchedWordSequenceLength(0, "Dexter", "Friends");
}
+ @Test
public void testCalculateTitleMatchScore_empty() {
- assertEquals(0.0, RoutineWatchEvaluator.calculateTitleMatchScore("", ""));
- assertEquals(0.0, RoutineWatchEvaluator.calculateTitleMatchScore("foo", ""));
- assertEquals(0.0, RoutineWatchEvaluator.calculateTitleMatchScore("", "foo"));
+ assertEqualScores(0.0, RoutineWatchEvaluator.calculateTitleMatchScore("", ""));
+ assertEqualScores(0.0, RoutineWatchEvaluator.calculateTitleMatchScore("foo", ""));
+ assertEqualScores(0.0, RoutineWatchEvaluator.calculateTitleMatchScore("", "foo"));
}
+ @Test
public void testCalculateTitleMatchScore_spaces() {
- assertEquals(0.0, RoutineWatchEvaluator.calculateTitleMatchScore(" ", " "));
- assertEquals(0.0, RoutineWatchEvaluator.calculateTitleMatchScore("foo", " "));
- assertEquals(0.0, RoutineWatchEvaluator.calculateTitleMatchScore(" ", "foo"));
+ assertEqualScores(0.0, RoutineWatchEvaluator.calculateTitleMatchScore(" ", " "));
+ assertEqualScores(0.0, RoutineWatchEvaluator.calculateTitleMatchScore("foo", " "));
+ assertEqualScores(0.0, RoutineWatchEvaluator.calculateTitleMatchScore(" ", "foo"));
}
+ @Test
public void testCalculateTitleMatchScore_null() {
- assertEquals(0.0, RoutineWatchEvaluator.calculateTitleMatchScore(null, null));
- assertEquals(0.0, RoutineWatchEvaluator.calculateTitleMatchScore("foo", null));
- assertEquals(0.0, RoutineWatchEvaluator.calculateTitleMatchScore(null, "foo"));
+ assertEqualScores(0.0, RoutineWatchEvaluator.calculateTitleMatchScore(null, null));
+ assertEqualScores(0.0, RoutineWatchEvaluator.calculateTitleMatchScore("foo", null));
+ assertEqualScores(0.0, RoutineWatchEvaluator.calculateTitleMatchScore(null, "foo"));
}
+ @Test
public void testCalculateTitleMatchScore_longerMatchIsBetter() {
String base = "foo bar baz";
assertInOrder(
@@ -110,6 +120,7 @@ public class RoutineWatchEvaluatorTest extends EvaluatorTestCase<RoutineWatchEva
score(base, "foo bar baz"));
}
+ @Test
public void testProgramTime_createFromProgram() {
Calendar time = Calendar.getInstance();
int todayDayOfWeek = time.get(Calendar.DAY_OF_WEEK);
@@ -149,6 +160,7 @@ public class RoutineWatchEvaluatorTest extends EvaluatorTestCase<RoutineWatchEva
programTimeToday1800_3600);
}
+ @Test
public void testCalculateOverlappedIntervalScore() {
// Today 21:00 - 24:00.
ProgramTime programTimeToday2100_2400 = ProgramTime.createFromProgram(
@@ -179,6 +191,7 @@ public class RoutineWatchEvaluatorTest extends EvaluatorTestCase<RoutineWatchEva
programTimeTomorrow2000_2300);
}
+ @Test
public void testGetTimeOfDayInSec() {
// Time was set as 00:00:00. So, getTimeOfDay must returns 0 (= 0 * 60 * 60 + 0 * 60 + 0).
assertEquals("TimeOfDayInSec", hourMinuteToSec(0, 0),
@@ -222,9 +235,9 @@ public class RoutineWatchEvaluatorTest extends EvaluatorTestCase<RoutineWatchEva
score *= RoutineWatchEvaluator.MULTIPLIER_FOR_UNMATCHED_DAY_OF_WEEK;
}
// Two tests for testing commutative law.
- assertEquals("OverlappedIntervalScore", score,
+ assertEqualScores("OverlappedIntervalScore", score,
RoutineWatchEvaluator.calculateOverlappedIntervalScore(t1, t2));
- assertEquals("OverlappedIntervalScore", score,
+ assertEqualScores("OverlappedIntervalScore", score,
RoutineWatchEvaluator.calculateOverlappedIntervalScore(t2, t1));
}