diff options
author | orionlee <orionlee@yahoo.com> | 2018-05-18 15:20:21 -0700 |
---|---|---|
committer | orionlee <orionlee@yahoo.com> | 2019-11-05 10:54:21 -0800 |
commit | bfde3c731514f1a761710d634c39a80ad75bdf10 (patch) | |
tree | 63d8538a5aa002c65e941daacbfa9d8588a6f7a6 | |
parent | ba27ec6b31314bbcfebf55e38a913d5b10757e83 (diff) | |
download | AntennaPod-bfde3c731514f1a761710d634c39a80ad75bdf10.zip |
refactor - DBWriterTest: parametrize the set of tests
-rw-r--r-- | core/src/test/java/de/danoeh/antennapod/core/storage/DBWriterTest.java | 58 |
1 files changed, 31 insertions, 27 deletions
diff --git a/core/src/test/java/de/danoeh/antennapod/core/storage/DBWriterTest.java b/core/src/test/java/de/danoeh/antennapod/core/storage/DBWriterTest.java index 0d494534c..d6ccbba3a 100644 --- a/core/src/test/java/de/danoeh/antennapod/core/storage/DBWriterTest.java +++ b/core/src/test/java/de/danoeh/antennapod/core/storage/DBWriterTest.java @@ -1,6 +1,10 @@ package de.danoeh.antennapod.core.storage; import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.junit.runners.Parameterized.Parameter; +import org.junit.runners.Parameterized.Parameters; import java.util.Arrays; import java.util.Date; @@ -15,43 +19,43 @@ import static org.junit.Assert.assertEquals; public class DBWriterTest { + @RunWith(Parameterized.class) public static class ItemEnqueuePositionCalculatorTest { - @Test - public void testEnqueueDefault() { - - ItemEnqueuePositionCalculator calculator = - new ItemEnqueuePositionCalculator(new Options()); - - List<FeedItem> curQueue = tQueue(); - - int posActual1 = calculator.calcPosition(0, tFI(101), curQueue); - assertEquals("case default, i.e., add to the end", curQueue.size(), posActual1); - - int posActual2 = calculator.calcPosition(1, tFI(102), curQueue); - assertEquals("case default (2nd item)", curQueue.size(), posActual2); - + @Parameters(name = "{index}: case<{0}>, expected:{1}") + public static Iterable<Object[]> data() { + Options optDefault = new Options(); + Options optEnqAtFront = new Options().setEnqueueAtFront(true); + + return Arrays.asList(new Object[][] { + {"case default, i.e., add to the end", QUEUE_DEFAULT.size(), optDefault , 0}, + {"case default (2nd item)", QUEUE_DEFAULT.size(), optDefault , 1}, + {"case option enqueue at front", 0, optEnqAtFront , 0}, + {"case option enqueue at front (2nd item)", 1, optEnqAtFront , 1} + }); } - @Test - public void testEnqueueAtFront() { + private static final List<FeedItem> QUEUE_DEFAULT = Arrays.asList(tFI(11), tFI(12), tFI(13), tFI(14)); - ItemEnqueuePositionCalculator calculator = - new ItemEnqueuePositionCalculator(new Options() - .setEnqueueAtFront(true)); + @Parameter + public String message; - List<FeedItem> curQueue = tQueue(); + @Parameter(1) + public int posExpected; - int posActual1 = calculator.calcPosition(0, tFI(101), curQueue); - assertEquals("case option enqueue at front", 0, posActual1); + @Parameter(2) + public Options options; - int posActual2 = calculator.calcPosition(1, tFI(102), curQueue); - assertEquals("case option enqueue at front (2nd item)", 1, posActual2); + @Parameter(3) + public int posAmongAdded; // the position of feed item to be inserted among the list to be inserted. - } - private static List<FeedItem> tQueue() { - return Arrays.asList(tFI(11), tFI(12), tFI(13), tFI(14)); + @Test + public void test() { + ItemEnqueuePositionCalculator calculator = new ItemEnqueuePositionCalculator(options); + + int posActual = calculator.calcPosition(posAmongAdded, tFI(101), QUEUE_DEFAULT); + assertEquals(message, posExpected , posActual); } private static FeedItem tFI(int id) { |