## org.junit.experimental.theories
Class ParameterSupplier

    java.lang.Object
      org.junit.experimental.theories.ParameterSupplier

Direct Known Subclasses:
  TestedOnSupplier

    public abstract class ParameterSupplier

extends Object

Abstract parent class for suppliers of input data points for theories. Extend this class to customize how `Theories` runner finds accepted data points. Then use your class together with @ParametersSuppliedBy on input parameters for theories.

For example, here is a supplier for values between two integers, and an annotation that references it:

         @Retention(RetentionPolicy.RUNTIME)
         @ParametersSuppliedBy(BetweenSupplier.class)
         public @interface Between {
             int first();

             int last();
         }

         public static class BetweenSupplier extends ParameterSupplier {
             @Override
             public List<PotentialAssignment> getValueSources(ParameterSignature sig) {
                 List<PotentialAssignment> list = new ArrayList<PotentialAssignment>();
                 Between annotation = (Between) sig.getSupplierAnnotation();

                 for (int i = annotation.first(); i <= annotation.last(); i++)
                     list.add(PotentialAssignment.forValue("ints", i));
                 return list;
             }
         }

See Also:
  `ParametersSuppliedBy`, `Theories`, `FromDataPoints`

Constructor Summary
`ParameterSupplier()`

Method Summary
`abstract List<PotentialAssignment>` `getValueSources(ParameterSignature sig)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ParameterSupplier

    public ParameterSupplier()

Method Detail

### getValueSources

    public abstract List<PotentialAssignment> getValueSources(ParameterSignature sig)
                                                       throws Throwable

  Throws:
    `Throwable`

Copyright © 2002–2020 JUnit. All rights reserved.