Home | History | Annotate | Download | only in robolectric
      1 package org.robolectric;
      2 
      3 import static com.google.common.truth.Truth.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 
     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