diff options
Diffstat (limited to 'tests/unit/src/com/android/tv/recommendation/EvaluatorTestCase.java')
-rw-r--r-- | tests/unit/src/com/android/tv/recommendation/EvaluatorTestCase.java | 30 |
1 files changed, 22 insertions, 8 deletions
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) { |