Home | History | Annotate | Download | only in junitparams
      1 package junitparams;
      2 
      3 import junitparams.internal.parameters.ParametersReader;
      4 import org.junit.Test;
      5 import org.junit.runner.JUnitCore;
      6 import org.junit.runner.Result;
      7 import org.junit.runner.RunWith;
      8 import org.junit.runner.notification.Failure;
      9 
     10 import static org.junit.Assert.assertEquals;
     11 
     12 import static java.lang.String.format;
     13 
     14 public class MultipleParameterProvidersTest {
     15 
     16     @RunWith(JUnitParamsRunner.class)
     17     private class CantInitializeWithValueAndMethodProvider {
     18         private Object[] extraProvider() {
     19             return new Object[][]{
     20                 {"test", "test"},
     21             };
     22         }
     23 
     24         @Parameters(value = {"test, test"}, method = "extraProvider")
     25         @Test
     26         public void testWithValueAndMethodProviders(String input, String output) {
     27             assertEquals(input, output);
     28         }
     29     }
     30 
     31     @Test
     32     public void testWithValueAndMethodProvidersThrowsIllegalStateException() {
     33         Result testResult = JUnitCore.runClasses(CantInitializeWithValueAndMethodProvider.class);
     34         assertEquals(1, testResult.getFailureCount());
     35 
     36         Failure testFailure = testResult.getFailures().iterator().next();
     37         assertEquals(IllegalStateException.class, testFailure.getException().getClass());
     38         assertEquals(format(ParametersReader.ILLEGAL_STATE_EXCEPTION_MESSAGE, "testWithValueAndMethodProviders"),
     39                      testFailure.getMessage());
     40     }
     41 }
     42