• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package org.robolectric;
2 
3 import static org.assertj.core.api.Assertions.assertThat;
4 
5 import java.util.Arrays;
6 import java.util.Collection;
7 import org.junit.Test;
8 import org.junit.runner.RunWith;
9 import org.robolectric.annotation.Config;
10 
11 /**
12  * Parameterized tests using basic java classes.
13  *
14  * @author John Ferlisi
15  */
16 @RunWith(ParameterizedRobolectricTestRunner.class)
17 public final class ParameterizedRobolectricTestRunnerNormalTest {
18 
19   private final int first;
20   private final int second;
21   private final int expectedSum;
22   private final int expectedDifference;
23   private final int expectedProduct;
24   private final int expectedQuotient;
25 
ParameterizedRobolectricTestRunnerNormalTest(int first, int second, int expectedSum, int expectedDifference, int expectedProduct, int expectedQuotient)26   public ParameterizedRobolectricTestRunnerNormalTest(int first,
27                                                       int second,
28                                                       int expectedSum,
29                                                       int expectedDifference,
30                                                       int expectedProduct,
31                                                       int expectedQuotient) {
32     this.first = first;
33     this.second = second;
34     this.expectedSum = expectedSum;
35     this.expectedDifference = expectedDifference;
36     this.expectedProduct = expectedProduct;
37     this.expectedQuotient = expectedQuotient;
38   }
39 
40   @Test
41   @Config(manifest = Config.NONE)
add()42   public void add() {
43     assertThat(first + second).isEqualTo(expectedSum);
44   }
45 
46   @Test
47   @Config(manifest = Config.NONE)
subtract()48   public void subtract() {
49     assertThat(first - second).isEqualTo(expectedDifference);
50   }
51 
52   @Test
53   @Config(manifest = Config.NONE)
multiple()54   public void multiple() {
55     assertThat(first * second).isEqualTo(expectedProduct);
56   }
57 
58   @Test
59   @Config(manifest = Config.NONE)
divide()60   public void divide() {
61     assertThat(first / second).isEqualTo(expectedQuotient);
62   }
63 
64   @ParameterizedRobolectricTestRunner.Parameters(name = "Java Math Test: {0}, {1}")
getTestData()65   public static Collection getTestData() {
66     Object[][] data = {
67         { 1, 1, 2, 0, 1, 1 },
68         { 2, 1, 3, 1, 2, 2 },
69         { 2, 2, 4, 0, 4, 1 },
70         { 4, 4, 8, 0, 16, 1 }
71     };
72     return Arrays.asList(data);
73   }
74 }
75