1package org.robolectric; 2 3import static org.assertj.core.api.Assertions.assertThat; 4 5import java.util.Arrays; 6import java.util.Collection; 7import org.junit.Test; 8import org.junit.runner.RunWith; 9import org.robolectric.annotation.Config; 10 11/** 12 * Parameterized tests using basic java classes. 13 * 14 * @author John Ferlisi 15 */ 16@RunWith(ParameterizedRobolectricTestRunner.class) 17public 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 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) 42 public void add() { 43 assertThat(first + second).isEqualTo(expectedSum); 44 } 45 46 @Test 47 @Config(manifest = Config.NONE) 48 public void subtract() { 49 assertThat(first - second).isEqualTo(expectedDifference); 50 } 51 52 @Test 53 @Config(manifest = Config.NONE) 54 public void multiple() { 55 assertThat(first * second).isEqualTo(expectedProduct); 56 } 57 58 @Test 59 @Config(manifest = Config.NONE) 60 public void divide() { 61 assertThat(first / second).isEqualTo(expectedQuotient); 62 } 63 64 @ParameterizedRobolectricTestRunner.Parameters(name = "Java Math Test: {0}, {1}") 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