<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="pl">
<head>
<!-- Generated by javadoc (1.8.0) on Mon Jul 28 12:08:59 CEST 2014 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index (JUnitParams 1.0.3-SNAPSHOT API)</title>
<meta name="date" content="2014-07-28">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Index (JUnitParams 1.0.3-SNAPSHOT API)";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="overview-summary.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="contentContainer"><a href="#I:Z:Z:D">$</a>&nbsp;<a href="#I:A">A</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a name="I:Z:Z:D">
<!--   -->
</a>
<h2 class="title">$</h2>
<dl>
<dt><span class="memberNameLink"><a href="junitparams/JUnitParamsRunner.html#Z:Z:D-java.lang.Object...-">$(Object...)</a></span> - Static method in class junitparams.<a href="junitparams/JUnitParamsRunner.html" title="class in junitparams">JUnitParamsRunner</a></dt>
<dd>
<div class="block">Shortcut for returning an array of objects.</div>
</dd>
</dl>
<a name="I:A">
<!--   -->
</a>
<h2 class="title">A</h2>
<dl>
<dt><span class="memberNameLink"><a href="junitparams/internal/TestMethod.html#annotations--">annotations()</a></span> - Method in class junitparams.internal.<a href="junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:C">
<!--   -->
</a>
<h2 class="title">C</h2>
<dl>
<dt><span class="memberNameLink"><a href="junitparams/JUnitParamsRunner.html#collectInitializationErrors-java.util.List-">collectInitializationErrors(List&lt;Throwable&gt;)</a></span> - Method in class junitparams.<a href="junitparams/JUnitParamsRunner.html" title="class in junitparams">JUnitParamsRunner</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="junitparams/internal/ParameterisedTestClassRunner.html#computeFrameworkMethods--">computeFrameworkMethods()</a></span> - Method in class junitparams.internal.<a href="junitparams/internal/ParameterisedTestClassRunner.html" title="class in junitparams.internal">ParameterisedTestClassRunner</a></dt>
<dd>
<div class="block">Returns a list of <code>FrameworkMethod</code>s.</div>
</dd>
<dt><span class="memberNameLink"><a href="junitparams/internal/ParameterisedTestClassRunner.html#computeTestMethods-org.junit.runners.model.TestClass-">computeTestMethods(TestClass)</a></span> - Method in class junitparams.internal.<a href="junitparams/internal/ParameterisedTestClassRunner.html" title="class in junitparams.internal">ParameterisedTestClassRunner</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="junitparams/JUnitParamsRunner.html#computeTestMethods--">computeTestMethods()</a></span> - Method in class junitparams.<a href="junitparams/JUnitParamsRunner.html" title="class in junitparams">JUnitParamsRunner</a></dt>
<dd>&nbsp;</dd>
<dt><a href="junitparams/converters/ConversionFailedException.html" title="class in junitparams.converters"><span class="typeNameLink">ConversionFailedException</span></a> - Exception in <a href="junitparams/converters/package-summary.html">junitparams.converters</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="junitparams/converters/ConversionFailedException.html#ConversionFailedException-java.lang.String-">ConversionFailedException(String)</a></span> - Constructor for exception junitparams.converters.<a href="junitparams/converters/ConversionFailedException.html" title="class in junitparams.converters">ConversionFailedException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="junitparams/converters/ParamConverter.html#convert-java.lang.Object-java.lang.String-">convert(Object, String)</a></span> - Method in interface junitparams.converters.<a href="junitparams/converters/ParamConverter.html" title="interface in junitparams.converters">ParamConverter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="junitparams/converters/ConvertParam.html" title="annotation in junitparams.converters"><span class="typeNameLink">ConvertParam</span></a> - Annotation Type in <a href="junitparams/converters/package-summary.html">junitparams.converters</a></dt>
<dd>
<div class="block">Defines a converter which should be used to convert a parameter to expected
 type.</div>
</dd>
<dt><span class="memberNameLink"><a href="junitparams/internal/ParameterisedTestMethodRunner.html#count--">count()</a></span> - Method in class junitparams.internal.<a href="junitparams/internal/ParameterisedTestMethodRunner.html" title="class in junitparams.internal">ParameterisedTestMethodRunner</a></dt>
<dd>&nbsp;</dd>
<dt><a href="junitparams/mappers/CsvWithHeaderMapper.html" title="class in junitparams.mappers"><span class="typeNameLink">CsvWithHeaderMapper</span></a> - Class in <a href="junitparams/mappers/package-summary.html">junitparams.mappers</a></dt>
<dd>
<div class="block">Reads a CSV file starting from the second line - the first one is supposed to
 be a header.</div>
</dd>
<dt><span class="memberNameLink"><a href="junitparams/mappers/CsvWithHeaderMapper.html#CsvWithHeaderMapper--">CsvWithHeaderMapper()</a></span> - Constructor for class junitparams.mappers.<a href="junitparams/mappers/CsvWithHeaderMapper.html" title="class in junitparams.mappers">CsvWithHeaderMapper</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:D">
<!--   -->
</a>
<h2 class="title">D</h2>
<dl>
<dt><a href="junitparams/mappers/DataMapper.html" title="interface in junitparams.mappers"><span class="typeNameLink">DataMapper</span></a> - Interface in <a href="junitparams/mappers/package-summary.html">junitparams.mappers</a></dt>
<dd>
<div class="block">Interface to be used by FileParameters'ized test methods.</div>
</dd>
<dt><span class="memberNameLink"><a href="junitparams/JUnitParamsRunner.html#describeMethod-org.junit.runners.model.FrameworkMethod-">describeMethod(FrameworkMethod)</a></span> - Method in class junitparams.<a href="junitparams/JUnitParamsRunner.html" title="class in junitparams">JUnitParamsRunner</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="junitparams/internal/ParameterisedTestClassRunner.html#describeParameterisedMethod-org.junit.runners.model.FrameworkMethod-">describeParameterisedMethod(FrameworkMethod)</a></span> - Method in class junitparams.internal.<a href="junitparams/internal/ParameterisedTestClassRunner.html" title="class in junitparams.internal">ParameterisedTestClassRunner</a></dt>
<dd>
<div class="block">Returns description of a parameterised method.</div>
</dd>
</dl>
<a name="I:E">
<!--   -->
</a>
<h2 class="title">E</h2>
<dl>
<dt><span class="memberNameLink"><a href="junitparams/internal/TestMethod.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class junitparams.internal.<a href="junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="junitparams/internal/InvokeParameterisedMethod.html#evaluate--">evaluate()</a></span> - Method in class junitparams.internal.<a href="junitparams/internal/InvokeParameterisedMethod.html" title="class in junitparams.internal">InvokeParameterisedMethod</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:F">
<!--   -->
</a>
<h2 class="title">F</h2>
<dl>
<dt><a href="junitparams/FileParameters.html" title="annotation in junitparams"><span class="typeNameLink">FileParameters</span></a> - Annotation Type in <a href="junitparams/package-summary.html">junitparams</a></dt>
<dd>
<div class="block">Denotes that parameters for a annotated test method should be taken from an
 external resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="junitparams/internal/TestMethod.html#frameworkMethod--">frameworkMethod()</a></span> - Method in class junitparams.internal.<a href="junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:G">
<!--   -->
</a>
<h2 class="title">G</h2>
<dl>
<dt><span class="memberNameLink"><a href="junitparams/JUnitParamsRunner.html#getDescription--">getDescription()</a></span> - Method in class junitparams.<a href="junitparams/JUnitParamsRunner.html" title="class in junitparams">JUnitParamsRunner</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="junitparams/internal/InvokeParameterisedMethod.html#getParamsAsString--">getParamsAsString()</a></span> - Method in class junitparams.internal.<a href="junitparams/internal/InvokeParameterisedMethod.html" title="class in junitparams.internal">InvokeParameterisedMethod</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:H">
<!--   -->
</a>
<h2 class="title">H</h2>
<dl>
<dt><span class="memberNameLink"><a href="junitparams/internal/TestMethod.html#hashCode--">hashCode()</a></span> - Method in class junitparams.internal.<a href="junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:I">
<!--   -->
</a>
<h2 class="title">I</h2>
<dl>
<dt><a href="junitparams/mappers/IdentityMapper.html" title="class in junitparams.mappers"><span class="typeNameLink">IdentityMapper</span></a> - Class in <a href="junitparams/mappers/package-summary.html">junitparams.mappers</a></dt>
<dd>
<div class="block">A mapper, that maps contents of a file to a set of parameters for test
 methods.</div>
</dd>
<dt><span class="memberNameLink"><a href="junitparams/mappers/IdentityMapper.html#IdentityMapper--">IdentityMapper()</a></span> - Constructor for class junitparams.mappers.<a href="junitparams/mappers/IdentityMapper.html" title="class in junitparams.mappers">IdentityMapper</a></dt>
<dd>&nbsp;</dd>
<dt><a href="junitparams/internal/InvokeParameterisedMethod.html" title="class in junitparams.internal"><span class="typeNameLink">InvokeParameterisedMethod</span></a> - Class in <a href="junitparams/internal/package-summary.html">junitparams.internal</a></dt>
<dd>
<div class="block">JUnit invoker for parameterised test methods</div>
</dd>
<dt><span class="memberNameLink"><a href="junitparams/internal/InvokeParameterisedMethod.html#InvokeParameterisedMethod-org.junit.runners.model.FrameworkMethod-java.lang.Object-java.lang.Object-int-">InvokeParameterisedMethod(FrameworkMethod, Object, Object, int)</a></span> - Constructor for class junitparams.internal.<a href="junitparams/internal/InvokeParameterisedMethod.html" title="class in junitparams.internal">InvokeParameterisedMethod</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="junitparams/internal/TestMethod.html#isIgnored--">isIgnored()</a></span> - Method in class junitparams.internal.<a href="junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="junitparams/internal/TestMethod.html#isNotIgnored--">isNotIgnored()</a></span> - Method in class junitparams.internal.<a href="junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="junitparams/internal/TestMethod.html#isParameterised--">isParameterised()</a></span> - Method in class junitparams.internal.<a href="junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:J">
<!--   -->
</a>
<h2 class="title">J</h2>
<dl>
<dt><a href="junitparams/package-summary.html">junitparams</a> - package junitparams</dt>
<dd>&nbsp;</dd>
<dt><a href="junitparams/converters/package-summary.html">junitparams.converters</a> - package junitparams.converters</dt>
<dd>&nbsp;</dd>
<dt><a href="junitparams/internal/package-summary.html">junitparams.internal</a> - package junitparams.internal</dt>
<dd>&nbsp;</dd>
<dt><a href="junitparams/mappers/package-summary.html">junitparams.mappers</a> - package junitparams.mappers</dt>
<dd>&nbsp;</dd>
<dt><a href="junitparams/JUnitParamsRunner.html" title="class in junitparams"><span class="typeNameLink">JUnitParamsRunner</span></a> - Class in <a href="junitparams/package-summary.html">junitparams</a></dt>
<dd>
<div class="block">JUnitParams<br>
 
 This is a JUnit runner for parameterised tests that don't suck.</div>
</dd>
<dt><span class="memberNameLink"><a href="junitparams/JUnitParamsRunner.html#JUnitParamsRunner-java.lang.Class-">JUnitParamsRunner(Class&lt;?&gt;)</a></span> - Constructor for class junitparams.<a href="junitparams/JUnitParamsRunner.html" title="class in junitparams">JUnitParamsRunner</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:L">
<!--   -->
</a>
<h2 class="title">L</h2>
<dl>
<dt><span class="memberNameLink"><a href="junitparams/internal/TestMethod.html#listFrom-java.util.List-org.junit.runners.model.TestClass-">listFrom(List&lt;FrameworkMethod&gt;, TestClass)</a></span> - Static method in class junitparams.internal.<a href="junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:M">
<!--   -->
</a>
<h2 class="title">M</h2>
<dl>
<dt><span class="memberNameLink"><a href="junitparams/mappers/CsvWithHeaderMapper.html#map-java.io.Reader-">map(Reader)</a></span> - Method in class junitparams.mappers.<a href="junitparams/mappers/CsvWithHeaderMapper.html" title="class in junitparams.mappers">CsvWithHeaderMapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="junitparams/mappers/DataMapper.html#map-java.io.Reader-">map(Reader)</a></span> - Method in interface junitparams.mappers.<a href="junitparams/mappers/DataMapper.html" title="interface in junitparams.mappers">DataMapper</a></dt>
<dd>
<div class="block">Maps file contents to parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="junitparams/mappers/IdentityMapper.html#map-java.io.Reader-">map(Reader)</a></span> - Method in class junitparams.mappers.<a href="junitparams/mappers/IdentityMapper.html" title="class in junitparams.mappers">IdentityMapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="junitparams/internal/ParameterisedTestMethodRunner.html#method">method</a></span> - Variable in class junitparams.internal.<a href="junitparams/internal/ParameterisedTestMethodRunner.html" title="class in junitparams.internal">ParameterisedTestMethodRunner</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="junitparams/JUnitParamsRunner.html#methodInvoker-org.junit.runners.model.FrameworkMethod-java.lang.Object-">methodInvoker(FrameworkMethod, Object)</a></span> - Method in class junitparams.<a href="junitparams/JUnitParamsRunner.html" title="class in junitparams">JUnitParamsRunner</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:N">
<!--   -->
</a>
<h2 class="title">N</h2>
<dl>
<dt><span class="memberNameLink"><a href="junitparams/internal/TestMethod.html#name--">name()</a></span> - Method in class junitparams.internal.<a href="junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="junitparams/internal/ParameterisedTestMethodRunner.html#nextCount--">nextCount()</a></span> - Method in class junitparams.internal.<a href="junitparams/internal/ParameterisedTestMethodRunner.html" title="class in junitparams.internal">ParameterisedTestMethodRunner</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:P">
<!--   -->
</a>
<h2 class="title">P</h2>
<dl>
<dt><a href="junitparams/converters/ParamConverter.html" title="interface in junitparams.converters"><span class="typeNameLink">ParamConverter</span></a>&lt;<a href="junitparams/converters/ParamConverter.html" title="type parameter in ParamConverter">T</a>&gt; - Interface in <a href="junitparams/converters/package-summary.html">junitparams.converters</a></dt>
<dd>
<div class="block">Implement this interface if you want to convert params from some
 representation to the type expected by your test method's parameter.</div>
</dd>
<dt><span class="memberNameLink"><a href="junitparams/internal/ParameterisedTestClassRunner.html#parameterisedMethodInvoker-org.junit.runners.model.FrameworkMethod-java.lang.Object-">parameterisedMethodInvoker(FrameworkMethod, Object)</a></span> - Method in class junitparams.internal.<a href="junitparams/internal/ParameterisedTestClassRunner.html" title="class in junitparams.internal">ParameterisedTestClassRunner</a></dt>
<dd>
<div class="block">Returns a InvokeParameterisedMethod for parameterised methods and null
 for nonparameterised</div>
</dd>
<dt><span class="memberNameLink"><a href="junitparams/internal/ParameterisedTestClassRunner.html#parameterisedMethods">parameterisedMethods</a></span> - Variable in class junitparams.internal.<a href="junitparams/internal/ParameterisedTestClassRunner.html" title="class in junitparams.internal">ParameterisedTestClassRunner</a></dt>
<dd>&nbsp;</dd>
<dt><a href="junitparams/internal/ParameterisedTestClassRunner.html" title="class in junitparams.internal"><span class="typeNameLink">ParameterisedTestClassRunner</span></a> - Class in <a href="junitparams/internal/package-summary.html">junitparams.internal</a></dt>
<dd>
<div class="block">Testclass-level functionalities to handle parameters from a JUnit runner
 class.</div>
</dd>
<dt><span class="memberNameLink"><a href="junitparams/internal/ParameterisedTestClassRunner.html#ParameterisedTestClassRunner-org.junit.runners.model.TestClass-">ParameterisedTestClassRunner(TestClass)</a></span> - Constructor for class junitparams.internal.<a href="junitparams/internal/ParameterisedTestClassRunner.html" title="class in junitparams.internal">ParameterisedTestClassRunner</a></dt>
<dd>
<div class="block">Creates a runner for a given test class.</div>
</dd>
<dt><a href="junitparams/internal/ParameterisedTestMethodRunner.html" title="class in junitparams.internal"><span class="typeNameLink">ParameterisedTestMethodRunner</span></a> - Class in <a href="junitparams/internal/package-summary.html">junitparams.internal</a></dt>
<dd>
<div class="block">Testmethod-level functionalities for parameterised tests</div>
</dd>
<dt><span class="memberNameLink"><a href="junitparams/internal/ParameterisedTestMethodRunner.html#ParameterisedTestMethodRunner-junitparams.internal.TestMethod-">ParameterisedTestMethodRunner(TestMethod)</a></span> - Constructor for class junitparams.internal.<a href="junitparams/internal/ParameterisedTestMethodRunner.html" title="class in junitparams.internal">ParameterisedTestMethodRunner</a></dt>
<dd>&nbsp;</dd>
<dt><a href="junitparams/Parameters.html" title="annotation in junitparams"><span class="typeNameLink">Parameters</span></a> - Annotation Type in <a href="junitparams/package-summary.html">junitparams</a></dt>
<dd>
<div class="block">THE annotation for the test parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="junitparams/internal/TestMethod.html#parametersSets--">parametersSets()</a></span> - Method in class junitparams.internal.<a href="junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:R">
<!--   -->
</a>
<h2 class="title">R</h2>
<dl>
<dt><span class="memberNameLink"><a href="junitparams/internal/Utils.html#REGEX_ALL_NEWLINES">REGEX_ALL_NEWLINES</a></span> - Static variable in class junitparams.internal.<a href="junitparams/internal/Utils.html" title="class in junitparams.internal">Utils</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="junitparams/internal/ParameterisedTestClassRunner.html#returnListOfMethods--">returnListOfMethods()</a></span> - Method in class junitparams.internal.<a href="junitparams/internal/ParameterisedTestClassRunner.html" title="class in junitparams.internal">ParameterisedTestClassRunner</a></dt>
<dd>
<div class="block">Returns a list of <code>FrameworkMethod</code>s - once per method, like
 there were no parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="junitparams/JUnitParamsRunner.html#runChild-org.junit.runners.model.FrameworkMethod-org.junit.runner.notification.RunNotifier-">runChild(FrameworkMethod, RunNotifier)</a></span> - Method in class junitparams.<a href="junitparams/JUnitParamsRunner.html" title="class in junitparams">JUnitParamsRunner</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="junitparams/internal/ParameterisedTestClassRunner.html#runParameterisedTest-junitparams.internal.TestMethod-org.junit.runners.model.Statement-org.junit.runner.notification.RunNotifier-">runParameterisedTest(TestMethod, Statement, RunNotifier)</a></span> - Method in class junitparams.internal.<a href="junitparams/internal/ParameterisedTestClassRunner.html" title="class in junitparams.internal">ParameterisedTestClassRunner</a></dt>
<dd>
<div class="block">Executes parameterised method.</div>
</dd>
</dl>
<a name="I:S">
<!--   -->
</a>
<h2 class="title">S</h2>
<dl>
<dt><span class="memberNameLink"><a href="junitparams/internal/ParameterisedTestClassRunner.html#shouldRun-junitparams.internal.TestMethod-">shouldRun(TestMethod)</a></span> - Method in class junitparams.internal.<a href="junitparams/internal/ParameterisedTestClassRunner.html" title="class in junitparams.internal">ParameterisedTestClassRunner</a></dt>
<dd>
<div class="block">Tells if method should be run by this runner.</div>
</dd>
<dt><span class="memberNameLink"><a href="junitparams/internal/Utils.html#stringify-java.lang.Object-int-">stringify(Object, int)</a></span> - Static method in class junitparams.internal.<a href="junitparams/internal/Utils.html" title="class in junitparams.internal">Utils</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:T">
<!--   -->
</a>
<h2 class="title">T</h2>
<dl>
<dt><a href="junitparams/internal/TestMethod.html" title="class in junitparams.internal"><span class="typeNameLink">TestMethod</span></a> - Class in <a href="junitparams/internal/package-summary.html">junitparams.internal</a></dt>
<dd>
<div class="block">A wrapper for a test method</div>
</dd>
<dt><span class="memberNameLink"><a href="junitparams/internal/TestMethod.html#TestMethod-org.junit.runners.model.FrameworkMethod-org.junit.runners.model.TestClass-">TestMethod(FrameworkMethod, TestClass)</a></span> - Constructor for class junitparams.internal.<a href="junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="junitparams/internal/ParameterisedTestClassRunner.html#testMethodFor-org.junit.runners.model.FrameworkMethod-">testMethodFor(FrameworkMethod)</a></span> - Method in class junitparams.internal.<a href="junitparams/internal/ParameterisedTestClassRunner.html" title="class in junitparams.internal">ParameterisedTestClassRunner</a></dt>
<dd>
<div class="block">Returns a cached TestMethod object related to the given FrameworkMethod.</div>
</dd>
<dt><span class="memberNameLink"><a href="junitparams/internal/ParameterisedTestClassRunner.html#testMethods">testMethods</a></span> - Variable in class junitparams.internal.<a href="junitparams/internal/ParameterisedTestClassRunner.html" title="class in junitparams.internal">ParameterisedTestClassRunner</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="junitparams/internal/ParameterisedTestClassRunner.html#testMethodsList">testMethodsList</a></span> - Variable in class junitparams.internal.<a href="junitparams/internal/ParameterisedTestClassRunner.html" title="class in junitparams.internal">ParameterisedTestClassRunner</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:U">
<!--   -->
</a>
<h2 class="title">U</h2>
<dl>
<dt><a href="junitparams/internal/Utils.html" title="class in junitparams.internal"><span class="typeNameLink">Utils</span></a> - Class in <a href="junitparams/internal/package-summary.html">junitparams.internal</a></dt>
<dd>
<div class="block">Some String utils to handle parameterised tests' results.</div>
</dd>
<dt><span class="memberNameLink"><a href="junitparams/internal/Utils.html#Utils--">Utils()</a></span> - Constructor for class junitparams.internal.<a href="junitparams/internal/Utils.html" title="class in junitparams.internal">Utils</a></dt>
<dd>&nbsp;</dd>
</dl>
<a href="#I:Z:Z:D">$</a>&nbsp;<a href="#I:A">A</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="overview-summary.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2014 <a href="http://pragmatists.pl">Pragmatists</a>. All rights reserved.</small></p>
</body>
</html>
