aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Duffin <paulduffin@google.com>2016-07-12 11:23:47 +0100
committerPaul Duffin <paulduffin@google.com>2016-07-20 15:24:23 +0100
commitfd1f9491413fcdbfae3cbd43651db31fdabce41a (patch)
tree58f3125a8ac5aae2139281886fca5b80f53cf853
parent896c3e9298b039ead2b21a6377a01a63df7f20f7 (diff)
downloadplatform_external_junit-params-fd1f9491413fcdbfae3cbd43651db31fdabce41a.tar.gz
platform_external_junit-params-fd1f9491413fcdbfae3cbd43651db31fdabce41a.tar.bz2
platform_external_junit-params-fd1f9491413fcdbfae3cbd43651db31fdabce41a.zip
Initial checkin of JUnitParams-1.0.5
Adds README.version, README.google, MODULE_LICENSE_APACHE2 files as required by the process (see b/30087411). The code does not yet compile; it requires patching to work with Android API and JUnit 4.10. Those patches will be added in separate commits to make it easy to identify the Android specific changes. All the changes will be submitted together. Bug: 30244565 Change-Id: Icf556377478c3afdd644c5e4db0ff18898f496ae Test: Once it compiles the tests will be run.
-rw-r--r--LICENSE.txt202
-rw-r--r--MODULE_LICENSE_APACHE20
-rw-r--r--README.google9
-rw-r--r--README.md60
-rw-r--r--README.version4
-rw-r--r--RELEASES.md187
-rw-r--r--apidocs/allclasses-frame.html33
-rw-r--r--apidocs/allclasses-noframe.html33
-rw-r--r--apidocs/constant-values.html155
-rw-r--r--apidocs/deprecated-list.html126
-rw-r--r--apidocs/help-doc.html231
-rw-r--r--apidocs/index-all.html419
-rw-r--r--apidocs/index.html75
-rw-r--r--apidocs/junitparams/DataMapper.html233
-rw-r--r--apidocs/junitparams/FileParameters.html267
-rw-r--r--apidocs/junitparams/InvokeParameterisedMethod.html291
-rw-r--r--apidocs/junitparams/JUnitParamsRunner.html791
-rw-r--r--apidocs/junitparams/ParameterisedTestClassRunner.html482
-rw-r--r--apidocs/junitparams/ParameterisedTestMethodRunner.html314
-rw-r--r--apidocs/junitparams/Parameters.html291
-rw-r--r--apidocs/junitparams/TestMethod.html430
-rw-r--r--apidocs/junitparams/class-use/DataMapper.html182
-rw-r--r--apidocs/junitparams/class-use/FileParameters.html126
-rw-r--r--apidocs/junitparams/class-use/InvokeParameterisedMethod.html143
-rw-r--r--apidocs/junitparams/class-use/JUnitParamsRunner.html126
-rw-r--r--apidocs/junitparams/class-use/ParameterisedTestClassRunner.html143
-rw-r--r--apidocs/junitparams/class-use/ParameterisedTestMethodRunner.html166
-rw-r--r--apidocs/junitparams/class-use/Parameters.html126
-rw-r--r--apidocs/junitparams/class-use/TestMethod.html271
-rw-r--r--apidocs/junitparams/converters/ConvertParam.html262
-rw-r--r--apidocs/junitparams/converters/ParamConverter.html238
-rw-r--r--apidocs/junitparams/converters/class-use/ConvertParam.html126
-rw-r--r--apidocs/junitparams/converters/class-use/ParamConverter.html126
-rw-r--r--apidocs/junitparams/converters/package-frame.html29
-rw-r--r--apidocs/junitparams/converters/package-summary.html180
-rw-r--r--apidocs/junitparams/converters/package-tree.html155
-rw-r--r--apidocs/junitparams/converters/package-use.html159
-rw-r--r--apidocs/junitparams/internal/IdentityMapper.html287
-rw-r--r--apidocs/junitparams/internal/InvokeParameterisedMethod.html309
-rw-r--r--apidocs/junitparams/internal/ParameterisedTestClassRunner.html512
-rw-r--r--apidocs/junitparams/internal/ParameterisedTestMethodRunner.html327
-rw-r--r--apidocs/junitparams/internal/TestMethod.html407
-rw-r--r--apidocs/junitparams/internal/Utils.html320
-rw-r--r--apidocs/junitparams/internal/class-use/IdentityMapper.html145
-rw-r--r--apidocs/junitparams/internal/class-use/InvokeParameterisedMethod.html126
-rw-r--r--apidocs/junitparams/internal/class-use/ParameterisedTestClassRunner.html126
-rw-r--r--apidocs/junitparams/internal/class-use/ParameterisedTestMethodRunner.html166
-rw-r--r--apidocs/junitparams/internal/class-use/TestMethod.html250
-rw-r--r--apidocs/junitparams/internal/class-use/Utils.html126
-rw-r--r--apidocs/junitparams/internal/package-frame.html25
-rw-r--r--apidocs/junitparams/internal/package-summary.html171
-rw-r--r--apidocs/junitparams/internal/package-tree.html147
-rw-r--r--apidocs/junitparams/internal/package-use.html166
-rw-r--r--apidocs/junitparams/mappers/CsvWithHeaderMapper.html305
-rw-r--r--apidocs/junitparams/mappers/DataMapper.html253
-rw-r--r--apidocs/junitparams/mappers/IdentityMapper.html309
-rw-r--r--apidocs/junitparams/mappers/class-use/CsvWithHeaderMapper.html126
-rw-r--r--apidocs/junitparams/mappers/class-use/DataMapper.html176
-rw-r--r--apidocs/junitparams/mappers/class-use/IdentityMapper.html126
-rw-r--r--apidocs/junitparams/mappers/package-frame.html26
-rw-r--r--apidocs/junitparams/mappers/package-summary.html171
-rw-r--r--apidocs/junitparams/mappers/package-tree.html144
-rw-r--r--apidocs/junitparams/mappers/package-use.html161
-rw-r--r--apidocs/junitparams/package-frame.html26
-rw-r--r--apidocs/junitparams/package-summary.html172
-rw-r--r--apidocs/junitparams/package-tree.html156
-rw-r--r--apidocs/junitparams/package-use.html126
-rw-r--r--apidocs/overview-frame.html25
-rw-r--r--apidocs/overview-summary.html152
-rw-r--r--apidocs/overview-tree.html185
-rw-r--r--apidocs/package-list4
-rw-r--r--apidocs/resources/inherit.gifbin0 -> 57 bytes
-rw-r--r--apidocs/stylesheet.css29
-rw-r--r--pom.xml208
-rw-r--r--src/main/java/junitparams/FileParameters.java43
-rw-r--r--src/main/java/junitparams/JUnitParamsRunner.java501
-rw-r--r--src/main/java/junitparams/Parameters.java49
-rw-r--r--src/main/java/junitparams/converters/ConversionFailedException.java7
-rw-r--r--src/main/java/junitparams/converters/ConvertParam.java25
-rw-r--r--src/main/java/junitparams/converters/Converter.java26
-rw-r--r--src/main/java/junitparams/converters/Nullable.java36
-rw-r--r--src/main/java/junitparams/converters/NullableConverter.java19
-rw-r--r--src/main/java/junitparams/converters/Param.java29
-rw-r--r--src/main/java/junitparams/converters/ParamAnnotation.java32
-rw-r--r--src/main/java/junitparams/converters/ParamConverter.java16
-rw-r--r--src/main/java/junitparams/custom/CustomParameters.java25
-rw-r--r--src/main/java/junitparams/custom/FileParametersProvider.java62
-rw-r--r--src/main/java/junitparams/custom/ParametersProvider.java26
-rw-r--r--src/main/java/junitparams/custom/combined/Cartesian.java46
-rw-r--r--src/main/java/junitparams/custom/combined/CombinedParameters.java24
-rw-r--r--src/main/java/junitparams/custom/combined/CombinedParametersProvider.java27
-rw-r--r--src/main/java/junitparams/internal/InvokeParameterisedMethod.java237
-rw-r--r--src/main/java/junitparams/internal/ParameterisedTestClassRunner.java177
-rw-r--r--src/main/java/junitparams/internal/ParameterisedTestMethodRunner.java108
-rw-r--r--src/main/java/junitparams/internal/ParametrizedTestMethodsFilter.java37
-rw-r--r--src/main/java/junitparams/internal/TestMethod.java141
-rw-r--r--src/main/java/junitparams/internal/Utils.java164
-rw-r--r--src/main/java/junitparams/internal/annotation/CustomParametersDescriptor.java30
-rw-r--r--src/main/java/junitparams/internal/annotation/FrameworkMethodAnnotations.java53
-rw-r--r--src/main/java/junitparams/internal/parameters/ParametersFromCustomProvider.java38
-rw-r--r--src/main/java/junitparams/internal/parameters/ParametersFromExternalClassMethod.java29
-rw-r--r--src/main/java/junitparams/internal/parameters/ParametersFromExternalClassProvideMethod.java80
-rw-r--r--src/main/java/junitparams/internal/parameters/ParametersFromTestClassMethod.java31
-rw-r--r--src/main/java/junitparams/internal/parameters/ParametersFromValue.java23
-rw-r--r--src/main/java/junitparams/internal/parameters/ParametersReader.java55
-rw-r--r--src/main/java/junitparams/internal/parameters/ParametrizationStrategy.java6
-rw-r--r--src/main/java/junitparams/internal/parameters/ParamsFromMethodCommon.java150
-rw-r--r--src/main/java/junitparams/mappers/BufferedReaderDataMapper.java40
-rw-r--r--src/main/java/junitparams/mappers/CsvWithHeaderMapper.java19
-rw-r--r--src/main/java/junitparams/mappers/DataMapper.java31
-rw-r--r--src/main/java/junitparams/mappers/IdentityMapper.java20
-rw-r--r--src/main/java/junitparams/naming/MacroSubstitutionNamingStrategy.java123
-rw-r--r--src/main/java/junitparams/naming/TestCaseName.java40
-rw-r--r--src/main/java/junitparams/naming/TestCaseNamingStrategy.java8
-rw-r--r--src/test/java/junitparams/AssumptionsTest.java19
-rw-r--r--src/test/java/junitparams/BeforeAfterClassTest.java28
-rw-r--r--src/test/java/junitparams/CastingParamsTest.java62
-rw-r--r--src/test/java/junitparams/ClassesAsParamsTest.java22
-rw-r--r--src/test/java/junitparams/EnumsAsParamsTest.java28
-rw-r--r--src/test/java/junitparams/FileParamsTest.java56
-rw-r--r--src/test/java/junitparams/FilterableTest.java82
-rw-r--r--src/test/java/junitparams/IgnoringTest.java46
-rw-r--r--src/test/java/junitparams/InstantiatingTestClassOnceTest.java23
-rw-r--r--src/test/java/junitparams/IterableMethodTest.java36
-rw-r--r--src/test/java/junitparams/IteratorMethodTest.java44
-rw-r--r--src/test/java/junitparams/MethodAnnotationArgumentTest.java83
-rw-r--r--src/test/java/junitparams/MultipleParameterProvidersTest.java41
-rw-r--r--src/test/java/junitparams/NullValuesTest.java43
-rw-r--r--src/test/java/junitparams/ObjectStringificationTest.java94
-rw-r--r--src/test/java/junitparams/OverloadedTestMethodNameTest.java27
-rw-r--r--src/test/java/junitparams/ParametersConvertedWithPropertyEditorTest.java44
-rw-r--r--src/test/java/junitparams/ParametersForEnumTest.java35
-rw-r--r--src/test/java/junitparams/ParametersReaderForMethodTest.java65
-rw-r--r--src/test/java/junitparams/ParametersReaderProvidersTest.java103
-rw-r--r--src/test/java/junitparams/ParamsConverterTest.java168
-rw-r--r--src/test/java/junitparams/ParamsInAnnotationTest.java88
-rw-r--r--src/test/java/junitparams/RulesTest.java60
-rw-r--r--src/test/java/junitparams/SampleTestCase.java24
-rw-r--r--src/test/java/junitparams/SamplesOfUsageVerificationTest.java21
-rw-r--r--src/test/java/junitparams/SubclassTest.java22
-rw-r--r--src/test/java/junitparams/SuperclassTest.java20
-rw-r--r--src/test/java/junitparams/WrongArgumentsNumberTest.java14
-rw-r--r--src/test/java/junitparams/converters/NullableConverterTest.java52
-rw-r--r--src/test/java/junitparams/custom/CustomParametersProviderTest.java61
-rw-r--r--src/test/java/junitparams/custom/combined/CartesianTest.java79
-rw-r--r--src/test/java/junitparams/custom/combined/CombinedParametersProviderTest.java88
-rw-r--r--src/test/java/junitparams/internal/TestMethodTest.java155
-rw-r--r--src/test/java/junitparams/internal/UtilsTest.java56
-rw-r--r--src/test/java/junitparams/naming/MacroSubstitutionNamingStrategyTest.java92
-rw-r--r--src/test/java/junitparams/naming/NamingStrategyIsUsedByRunnerTest.java48
-rw-r--r--src/test/java/junitparams/usage/SamplesOfUsageTest.java159
-rw-r--r--src/test/java/junitparams/usage/person_example/PersonMapper.java21
-rw-r--r--src/test/java/junitparams/usage/person_example/PersonTest.java97
-rw-r--r--src/test/java/junitparams/usage/person_example/PersonType.java5
-rw-r--r--src/test/resources/test.csv3
-rw-r--r--src/test/resources/with_header.csv3
-rw-r--r--src/test/resources/with_special_chars.csv1
157 files changed, 18632 insertions, 0 deletions
diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/MODULE_LICENSE_APACHE2 b/MODULE_LICENSE_APACHE2
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/MODULE_LICENSE_APACHE2
diff --git a/README.google b/README.google
new file mode 100644
index 0000000..fc00869
--- /dev/null
+++ b/README.google
@@ -0,0 +1,9 @@
+URL: https://github.com/Pragmatists/JUnitParams
+License: Apache License Version 2.0
+License File: LICENSE.txt
+
+Description:
+Parameterised tests that don't suck
+
+Local Modifications:
+ No Modifications
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..13b1f5b
--- /dev/null
+++ b/README.md
@@ -0,0 +1,60 @@
+# JUnitParams
+
+[![Build Status](https://secure.travis-ci.org/Pragmatists/JUnitParams.png)](http://travis-ci.org/Pragmatists/JUnitParams) [![Coverage Status](https://coveralls.io/repos/Pragmatists/JUnitParams/badge.svg)](https://coveralls.io/r/Pragmatists/JUnitParams) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/pl.pragmatists/JUnitParams/badge.svg)](https://maven-badges.herokuapp.com/maven-central/pl.pragmatists/JUnitParams)
+
+*Parameterised tests that don't suck*
+
+## Example
+
+``` java
+@RunWith(JUnitParamsRunner.class)
+public class PersonTest {
+
+ @Test
+ @Parameters({"17, false",
+ "22, true" })
+ public void personIsAdult(int age, boolean valid) throws Exception {
+ assertThat(new Person(age).isAdult(), is(valid));
+ }
+
+}
+```
+See more [examples](https://github.com/Pragmatists/JUnitParams/blob/master/src/test/java/junitparams/usage/SamplesOfUsageTest.java)
+
+
+## Latest News
+
+* 2015-01-23 JUnitParams 1.0.4 released. Check [release info.](RELEASES.md)
+[more here](https://github.com/Pragmatists/JUnitParams/wiki)
+
+## About
+JUnitParams project adds a new runner to JUnit and provides much easier and readable parametrised tests for JUnit >=4.6.
+
+Main differences to standard JUnit Parametrised runner:
+
+* more explicit - params are in test method params, not class fields
+* less code - you don't need a constructor to set up parameters
+* you can mix parametrised with non-parametrised methods in one class
+* params can be passed as a CSV string or from a parameters provider class
+* parameters provider class can have as many parameters providing methods as you want, so that you can group different cases
+* you can have a test method that provides parameters (no external classes or statics anymore)
+* you can see actual parameter values in your IDE (in JUnit's Parametrised it's only consecutive numbers of parameters):
+
+## Quickstart
+
+JUnitParams is available as Maven artifact:
+```
+<dependency>
+ <groupId>pl.pragmatists</groupId>
+ <artifactId>JUnitParams</artifactId>
+ <version>1.0.4</version>
+ <scope>test</scope>
+</dependency>
+```
+
+If you want to see just one simple test class with all main ways to use JUnitParams see here:
+https://github.com/Pragmatists/junitparams/tree/master/src/test/java/junitparams/usage
+
+You can also have a look at [Wiki:Quickstart](https://github.com/Pragmatists/junitparams/wiki/Quickstart)
+
+**Note**: We are currently moving the project from Google Code to Github. Some information may still be accessible only at https://code.google.com/p/junitparams/
diff --git a/README.version b/README.version
new file mode 100644
index 0000000..e752c9b
--- /dev/null
+++ b/README.version
@@ -0,0 +1,4 @@
+URL: https://github.com/Pragmatists/JUnitParams/tree/JUnitParams-1.0.5
+Version: 1.0.5
+BugComponent: 24949
+Owners: paulduffin, jsauer
diff --git a/RELEASES.md b/RELEASES.md
new file mode 100644
index 0000000..1f57c1f
--- /dev/null
+++ b/RELEASES.md
@@ -0,0 +1,187 @@
+## JUnitParams 1.0.5 release. Release date : ?
+
+### Deprecated $ method
+Utility method `$` was deprecated. It was causing too much problems and we decided not to support it any more. If you wish to keep using it, implement it in your own codebase.
+
+### Automatic class name to class object conversion
+
+```java
+
+ @Test
+ @Parameters({"java.lang.Object", "java.lang.String"})
+ public void passClassAsString(Class<?> clazz) {
+ assertThat(clazz).isIn(java.lang.Object.class, java.lang.String.class);
+ }
+```
+
+Thanks to [adammichalik](https://github.com/adammichalik) for contribution
+
+### Support custom annotations for parameter conversion
+
+You can create your own annotations for parameter conversion. Just annotate it with `@Param` and pass it a reference to `Converter` implementation.
+
+Example:
+
+
+```java
+
+ @Retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.PARAMETER)
+ @Param(converter = FormattedDateConverter.class)
+ public @interface DateParam {
+
+ String format() default "dd.MM.yyyy";
+ }
+
+ public static class FormattedDateConverter implements Converter<DateParam, Date> {
+
+ private String format;
+
+ @Override
+ public void initialize(DateParam annotation) {
+ this.format = annotation.format();
+ }
+
+ @Override
+ public Date convert(Object param) throws ConversionFailedException {
+ try {
+ return new SimpleDateFormat(format).parse(param.toString());
+ } catch (ParseException e) {
+ throw new ConversionFailedException("failed");
+ }
+ }
+ }
+```
+
+Usage example:
+
+```java
+
+ @Test
+ @Parameters({"2012-12-01"})
+ public void testWithConvertedDate(@DateParam Date date) {
+ assertThat(...);
+ }
+```
+
+Thanks to [bbobcik](https://github.com/bbobcik) for inspiration
+
+### CustomParameters
+
+You can create custom annotations for parameter providers. `@FileParameters` have been refactored to use this mechanism and should serve as a perfect usage example.
+
+```java
+
+ @Retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.METHOD)
+ @CustomParameters(provider = FileParametersProvider.class)
+ public @interface FileParameters {
+
+ String fileLocation();
+
+ }
+
+ public class FileParametersProvider implements ParametersProvider<FileParameters> {
+
+ private String fileLocation;
+
+ @Override
+ public void initialize(FileParameters fileParameters) {
+ this.fileLocation = fileParameters.fileLocation();
+ }
+
+ @Override
+ public Object[] getParameters() {
+ return paramsFromFile(fileLocation);
+ }
+
+ ...
+ }
+
+```
+
+### @CombinedParameters
+
+Thanks to [piekarskim](https://github.com/piekarskim) The issue #1 is fixed.
+Using this annotation will result in creating a n-fold cartesian product of parameter values effectively testing each possible combination.
+Since an example is worth a thousand words:
+
+Such annotated test method:
+
+```java
+
+ @Test
+ @CombinedParameters({"a,b", "1,2"})
+ public void calledWithCartesianProduct(String character, Integer number) {
+ ...
+ }
+```
+
+Will be called 4 times with parameters:
+
+```
+ a 1
+ a 2
+ b 1
+ b 2
+```
+
+
+### Bug fixes and improvements
+
+Thanks to the rest of contributors for lots of bug fixes and improvements:
+
+* [jtbeckha](https://github.com/jtbeckha)
+* [szpak](https://github.com/szpak)
+* [mkordas](https://github.com/mkordas)
+* [davidwiking](https://github.com/davidwiking)
+* [bennetelli](https://github.com/bennetelli)
+
+
+## JUnitParams 1.0.4 release. Release date : 2015-01-23
+
+### Configurable test case name
+New annotation `@TestCaseName` that can be used for test case name configuration:
+
+```java
+ @Test
+ @Parameters({ "1,1", "2,2" })
+ @TestCaseName("factorial({0}) = {1}")
+ public void custom_names_for_test_case(int argument, int result) { }
+```
+
+will produce tests with names:
+
+```
+factorial(1) = 1
+factorial(2) = 2
+```
+
+Thanks to [Menliat](https://github.com/Menliat) for contribution.
+
+
+### Allow usage of enums as a data source
+
+Parameters annotation now allows passing Enum values as parameters
+
+```
+@Parameters(source = Fruit.class)
+```
+
+Thanks to [ukcrpb6](https://github.com/ukcrpb6) for contribution.
+
+
+### Test results filtering fixed
+
+When starting a single test method from within an IDE, the tests results were not shown up properly in the results tab.
+Its fixed now thanks to [jerzykrlk](https://github.com/jerzykrlk)
+
+### Bug fixes and improvements
+
+Thanks to the rest of contributors for lots of bug fixes and improvements:
+
+* [wojtek-szymanski](https://github.com/wojtek-szymanski)
+* [Jacobus2k](https://github.com/Jacobus2k)
+* [justhalf](https://github.com/justhalf)
+* [szpak](https://github.com/szpak)
+* [v-dev](https://github.com/v-dev)
diff --git a/apidocs/allclasses-frame.html b/apidocs/allclasses-frame.html
new file mode 100644
index 0000000..09eb60f
--- /dev/null
+++ b/apidocs/allclasses-frame.html
@@ -0,0 +1,33 @@
+<!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>All Classes (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>
+<h1 class="bar">All&nbsp;Classes</h1>
+<div class="indexContainer">
+<ul>
+<li><a href="junitparams/converters/ConversionFailedException.html" title="class in junitparams.converters" target="classFrame">ConversionFailedException</a></li>
+<li><a href="junitparams/converters/ConvertParam.html" title="annotation in junitparams.converters" target="classFrame">ConvertParam</a></li>
+<li><a href="junitparams/mappers/CsvWithHeaderMapper.html" title="class in junitparams.mappers" target="classFrame">CsvWithHeaderMapper</a></li>
+<li><a href="junitparams/mappers/DataMapper.html" title="interface in junitparams.mappers" target="classFrame"><span class="interfaceName">DataMapper</span></a></li>
+<li><a href="junitparams/FileParameters.html" title="annotation in junitparams" target="classFrame">FileParameters</a></li>
+<li><a href="junitparams/mappers/IdentityMapper.html" title="class in junitparams.mappers" target="classFrame">IdentityMapper</a></li>
+<li><a href="junitparams/internal/InvokeParameterisedMethod.html" title="class in junitparams.internal" target="classFrame">InvokeParameterisedMethod</a></li>
+<li><a href="junitparams/JUnitParamsRunner.html" title="class in junitparams" target="classFrame">JUnitParamsRunner</a></li>
+<li><a href="junitparams/converters/ParamConverter.html" title="interface in junitparams.converters" target="classFrame"><span class="interfaceName">ParamConverter</span></a></li>
+<li><a href="junitparams/internal/ParameterisedTestClassRunner.html" title="class in junitparams.internal" target="classFrame">ParameterisedTestClassRunner</a></li>
+<li><a href="junitparams/internal/ParameterisedTestMethodRunner.html" title="class in junitparams.internal" target="classFrame">ParameterisedTestMethodRunner</a></li>
+<li><a href="junitparams/Parameters.html" title="annotation in junitparams" target="classFrame">Parameters</a></li>
+<li><a href="junitparams/internal/TestMethod.html" title="class in junitparams.internal" target="classFrame">TestMethod</a></li>
+<li><a href="junitparams/internal/Utils.html" title="class in junitparams.internal" target="classFrame">Utils</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/apidocs/allclasses-noframe.html b/apidocs/allclasses-noframe.html
new file mode 100644
index 0000000..b8de497
--- /dev/null
+++ b/apidocs/allclasses-noframe.html
@@ -0,0 +1,33 @@
+<!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>All Classes (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>
+<h1 class="bar">All&nbsp;Classes</h1>
+<div class="indexContainer">
+<ul>
+<li><a href="junitparams/converters/ConversionFailedException.html" title="class in junitparams.converters">ConversionFailedException</a></li>
+<li><a href="junitparams/converters/ConvertParam.html" title="annotation in junitparams.converters">ConvertParam</a></li>
+<li><a href="junitparams/mappers/CsvWithHeaderMapper.html" title="class in junitparams.mappers">CsvWithHeaderMapper</a></li>
+<li><a href="junitparams/mappers/DataMapper.html" title="interface in junitparams.mappers"><span class="interfaceName">DataMapper</span></a></li>
+<li><a href="junitparams/FileParameters.html" title="annotation in junitparams">FileParameters</a></li>
+<li><a href="junitparams/mappers/IdentityMapper.html" title="class in junitparams.mappers">IdentityMapper</a></li>
+<li><a href="junitparams/internal/InvokeParameterisedMethod.html" title="class in junitparams.internal">InvokeParameterisedMethod</a></li>
+<li><a href="junitparams/JUnitParamsRunner.html" title="class in junitparams">JUnitParamsRunner</a></li>
+<li><a href="junitparams/converters/ParamConverter.html" title="interface in junitparams.converters"><span class="interfaceName">ParamConverter</span></a></li>
+<li><a href="junitparams/internal/ParameterisedTestClassRunner.html" title="class in junitparams.internal">ParameterisedTestClassRunner</a></li>
+<li><a href="junitparams/internal/ParameterisedTestMethodRunner.html" title="class in junitparams.internal">ParameterisedTestMethodRunner</a></li>
+<li><a href="junitparams/Parameters.html" title="annotation in junitparams">Parameters</a></li>
+<li><a href="junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a></li>
+<li><a href="junitparams/internal/Utils.html" title="class in junitparams.internal">Utils</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/apidocs/constant-values.html b/apidocs/constant-values.html
new file mode 100644
index 0000000..0222672
--- /dev/null
+++ b/apidocs/constant-values.html
@@ -0,0 +1,155 @@
+<!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>Constant Field Values (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="Constant Field Values (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><a href="index-all.html">Index</a></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?constant-values.html" target="_top">Frames</a></li>
+<li><a href="constant-values.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="header">
+<h1 title="Constant Field Values" class="title">Constant Field Values</h1>
+<h2 title="Contents">Contents</h2>
+<ul>
+<li><a href="#junitparams.internal">junitparams.internal.*</a></li>
+</ul>
+</div>
+<div class="constantValuesContainer"><a name="junitparams.internal">
+<!-- -->
+</a>
+<h2 title="junitparams.internal">junitparams.internal.*</h2>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>junitparams.internal.<a href="junitparams/internal/Utils.html" title="class in junitparams.internal">Utils</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="junitparams.internal.Utils.REGEX_ALL_NEWLINES">
+<!-- -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="junitparams/internal/Utils.html#REGEX_ALL_NEWLINES">REGEX_ALL_NEWLINES</a></code></td>
+<td class="colLast"><code>"(\\r\\n|\\n|\\r)"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</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><a href="index-all.html">Index</a></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?constant-values.html" target="_top">Frames</a></li>
+<li><a href="constant-values.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>
diff --git a/apidocs/deprecated-list.html b/apidocs/deprecated-list.html
new file mode 100644
index 0000000..1880001
--- /dev/null
+++ b/apidocs/deprecated-list.html
@@ -0,0 +1,126 @@
+<!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>Deprecated List (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="Deprecated List (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 class="navBarCell1Rev">Deprecated</li>
+<li><a href="index-all.html">Index</a></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?deprecated-list.html" target="_top">Frames</a></li>
+<li><a href="deprecated-list.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="header">
+<h1 title="Deprecated API" class="title">Deprecated API</h1>
+<h2 title="Contents">Contents</h2>
+</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 class="navBarCell1Rev">Deprecated</li>
+<li><a href="index-all.html">Index</a></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?deprecated-list.html" target="_top">Frames</a></li>
+<li><a href="deprecated-list.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>
diff --git a/apidocs/help-doc.html b/apidocs/help-doc.html
new file mode 100644
index 0000000..8645477
--- /dev/null
+++ b/apidocs/help-doc.html
@@ -0,0 +1,231 @@
+<!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>API Help (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="API Help (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><a href="index-all.html">Index</a></li>
+<li class="navBarCell1Rev">Help</li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?help-doc.html" target="_top">Frames</a></li>
+<li><a href="help-doc.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="header">
+<h1 class="title">How This API Document Is Organized</h1>
+<div class="subTitle">This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.</div>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<h2>Overview</h2>
+<p>The <a href="overview-summary.html">Overview</a> page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.</p>
+</li>
+<li class="blockList">
+<h2>Package</h2>
+<p>Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain six categories:</p>
+<ul>
+<li>Interfaces (italic)</li>
+<li>Classes</li>
+<li>Enums</li>
+<li>Exceptions</li>
+<li>Errors</li>
+<li>Annotation Types</li>
+</ul>
+</li>
+<li class="blockList">
+<h2>Class/Interface</h2>
+<p>Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:</p>
+<ul>
+<li>Class inheritance diagram</li>
+<li>Direct Subclasses</li>
+<li>All Known Subinterfaces</li>
+<li>All Known Implementing Classes</li>
+<li>Class/interface declaration</li>
+<li>Class/interface description</li>
+</ul>
+<ul>
+<li>Nested Class Summary</li>
+<li>Field Summary</li>
+<li>Constructor Summary</li>
+<li>Method Summary</li>
+</ul>
+<ul>
+<li>Field Detail</li>
+<li>Constructor Detail</li>
+<li>Method Detail</li>
+</ul>
+<p>Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</p>
+</li>
+<li class="blockList">
+<h2>Annotation Type</h2>
+<p>Each annotation type has its own separate page with the following sections:</p>
+<ul>
+<li>Annotation Type declaration</li>
+<li>Annotation Type description</li>
+<li>Required Element Summary</li>
+<li>Optional Element Summary</li>
+<li>Element Detail</li>
+</ul>
+</li>
+<li class="blockList">
+<h2>Enum</h2>
+<p>Each enum has its own separate page with the following sections:</p>
+<ul>
+<li>Enum declaration</li>
+<li>Enum description</li>
+<li>Enum Constant Summary</li>
+<li>Enum Constant Detail</li>
+</ul>
+</li>
+<li class="blockList">
+<h2>Use</h2>
+<p>Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.</p>
+</li>
+<li class="blockList">
+<h2>Tree (Class Hierarchy)</h2>
+<p>There is a <a href="overview-tree.html">Class Hierarchy</a> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with <code>java.lang.Object</code>. The interfaces do not inherit from <code>java.lang.Object</code>.</p>
+<ul>
+<li>When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.</li>
+<li>When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.</li>
+</ul>
+</li>
+<li class="blockList">
+<h2>Deprecated API</h2>
+<p>The <a href="deprecated-list.html">Deprecated API</a> page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.</p>
+</li>
+<li class="blockList">
+<h2>Index</h2>
+<p>The <a href="index-all.html">Index</a> contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.</p>
+</li>
+<li class="blockList">
+<h2>Prev/Next</h2>
+<p>These links take you to the next or previous class, interface, package, or related page.</p>
+</li>
+<li class="blockList">
+<h2>Frames/No Frames</h2>
+<p>These links show and hide the HTML frames. All pages are available with or without frames.</p>
+</li>
+<li class="blockList">
+<h2>All Classes</h2>
+<p>The <a href="allclasses-noframe.html">All Classes</a> link shows all classes and interfaces except non-static nested types.</p>
+</li>
+<li class="blockList">
+<h2>Serialized Form</h2>
+<p>Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.</p>
+</li>
+<li class="blockList">
+<h2>Constant Field Values</h2>
+<p>The <a href="constant-values.html">Constant Field Values</a> page lists the static final fields and their values.</p>
+</li>
+</ul>
+<span class="emphasizedPhrase">This help file applies to API documentation generated using the standard doclet.</span></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><a href="index-all.html">Index</a></li>
+<li class="navBarCell1Rev">Help</li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?help-doc.html" target="_top">Frames</a></li>
+<li><a href="help-doc.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>
diff --git a/apidocs/index-all.html b/apidocs/index-all.html
new file mode 100644
index 0000000..2d4fb09
--- /dev/null
+++ b/apidocs/index-all.html
@@ -0,0 +1,419 @@
+<!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>
diff --git a/apidocs/index.html b/apidocs/index.html
new file mode 100644
index 0000000..d796be8
--- /dev/null
+++ b/apidocs/index.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.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>JUnitParams 1.0.3-SNAPSHOT API</title>
+<script type="text/javascript">
+ targetPage = "" + window.location.search;
+ if (targetPage != "" && targetPage != "undefined")
+ targetPage = targetPage.substring(1);
+ if (targetPage.indexOf(":") != -1 || (targetPage != "" && !validURL(targetPage)))
+ targetPage = "undefined";
+ function validURL(url) {
+ try {
+ url = decodeURIComponent(url);
+ }
+ catch (error) {
+ return false;
+ }
+ var pos = url.indexOf(".html");
+ if (pos == -1 || pos != url.length - 5)
+ return false;
+ var allowNumber = false;
+ var allowSep = false;
+ var seenDot = false;
+ for (var i = 0; i < url.length - 5; i++) {
+ var ch = url.charAt(i);
+ if ('a' <= ch && ch <= 'z' ||
+ 'A' <= ch && ch <= 'Z' ||
+ ch == '$' ||
+ ch == '_' ||
+ ch.charCodeAt(0) > 127) {
+ allowNumber = true;
+ allowSep = true;
+ } else if ('0' <= ch && ch <= '9'
+ || ch == '-') {
+ if (!allowNumber)
+ return false;
+ } else if (ch == '/' || ch == '.') {
+ if (!allowSep)
+ return false;
+ allowNumber = false;
+ allowSep = false;
+ if (ch == '.')
+ seenDot = true;
+ if (ch == '/' && seenDot)
+ return false;
+ } else {
+ return false;
+ }
+ }
+ return true;
+ }
+ function loadFrames() {
+ if (targetPage != "" && targetPage != "undefined")
+ top.classFrame.location = top.targetPage;
+ }
+</script>
+</head>
+<frameset cols="20%,80%" title="Documentation frame" onload="top.loadFrames()">
+<frameset rows="30%,70%" title="Left frames" onload="top.loadFrames()">
+<frame src="overview-frame.html" name="packageListFrame" title="All Packages">
+<frame src="allclasses-frame.html" name="packageFrame" title="All classes and interfaces (except non-static nested types)">
+</frameset>
+<frame src="overview-summary.html" name="classFrame" title="Package, class and interface descriptions" scrolling="yes">
+<noframes>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<h2>Frame Alert</h2>
+<p>This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. Link to <a href="overview-summary.html">Non-frame version</a>.</p>
+</noframes>
+</frameset>
+</html>
diff --git a/apidocs/junitparams/DataMapper.html b/apidocs/junitparams/DataMapper.html
new file mode 100644
index 0000000..a0d40ea
--- /dev/null
+++ b/apidocs/junitparams/DataMapper.html
@@ -0,0 +1,233 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_31) on Tue May 15 23:03:17 FET 2012 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+DataMapper (JUnitParams 0.5.1-SNAPSHOT API)
+</TITLE>
+
+<META NAME="date" CONTENT="2012-05-15">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="DataMapper (JUnitParams 0.5.1-SNAPSHOT API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DataMapper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../junitparams/FileParameters.html" title="annotation in junitparams"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../index.html?junitparams/DataMapper.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="DataMapper.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+junitparams</FONT>
+<BR>
+Interface DataMapper</H2>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../junitparams/internal/IdentityMapper.html" title="class in junitparams.internal">IdentityMapper</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public interface <B>DataMapper</B></DL>
+</PRE>
+
+<P>
+Interface to be used by FileParameters'ized test methods. If you want to read
+ your own format of data from file, implement the map method appropriately.
+ For CSV files, just skip it.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>Pawel Lipinski</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../junitparams/DataMapper.html#map(java.io.Reader)">map</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io">Reader</A>&nbsp;reader)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maps file contents to parameters.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="map(java.io.Reader)"><!-- --></A><H3>
+map</H3>
+<PRE>
+<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[] <B>map</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io">Reader</A>&nbsp;reader)</PRE>
+<DL>
+<DD>Maps file contents to parameters. In your implementation read the data
+ from the reader. The reader is closed in the framework, so just read it
+ :)
+
+ While reading transform the data into Object[][], where external
+ dimension are different parameter sets, and internal dimension is the set
+ of params per single test call
+
+ You can optionally return Object[] with Strings inside, but each String
+ must be a string in the same format as what you would normally pass to
+ &#064;Parameters({})
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>reader</CODE> -
+<DT><B>Returns:</B><DD>an array with all parameter sets</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DataMapper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../junitparams/FileParameters.html" title="annotation in junitparams"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../index.html?junitparams/DataMapper.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="DataMapper.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &#169; 2012 <a href="http://pragmatists.pl">Pragmatists</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/apidocs/junitparams/FileParameters.html b/apidocs/junitparams/FileParameters.html
new file mode 100644
index 0000000..5600296
--- /dev/null
+++ b/apidocs/junitparams/FileParameters.html
@@ -0,0 +1,267 @@
+<!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>FileParameters (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="FileParameters (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><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FileParameters.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../deprecated-list.html">Deprecated</a></li>
+<li><a href="../index-all.html">Index</a></li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../junitparams/JUnitParamsRunner.html" title="class in junitparams"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?junitparams/FileParameters.html" target="_top">Frames</a></li>
+<li><a href="FileParameters.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>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#annotation.type.required.element.summary">Required</a>&nbsp;|&nbsp;</li>
+<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#annotation.type.element.detail">Element</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">junitparams</div>
+<h2 title="Annotation Type FileParameters" class="title">Annotation Type FileParameters</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/annotation/Retention.html?is-external=true" title="class or interface in java.lang.annotation">@Retention</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/annotation/Retention.html?is-external=true#value--" title="class or interface in java.lang.annotation">value</a>=<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/annotation/RetentionPolicy.html?is-external=true#RUNTIME" title="class or interface in java.lang.annotation">RUNTIME</a>)
+public @interface <span class="memberNameLabel">FileParameters</span></pre>
+<div class="block">Denotes that parameters for a annotated test method should be taken from an
+ external resource.</div>
+<dl>
+<dt><span class="simpleTagLabel">Author:</span></dt>
+<dd>Pawel Lipinski</dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ANNOTATION TYPE REQUIRED MEMBER SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="annotation.type.required.element.summary">
+<!-- -->
+</a>
+<h3>Required Element Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Required Element Summary table, listing required elements, and an explanation">
+<caption><span>Required Elements</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Required Element and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../junitparams/FileParameters.html#value--">value</a></span></code>
+<div class="block">File name (with full path) of the file with data.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="annotation.type.optional.element.summary">
+<!-- -->
+</a>
+<h3>Optional Element Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Optional Element Summary table, listing optional elements, and an explanation">
+<caption><span>Optional Elements</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Optional Element and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../junitparams/mappers/DataMapper.html" title="interface in junitparams.mappers">DataMapper</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../junitparams/FileParameters.html#mapper--">mapper</a></span></code>
+<div class="block">The mapper which knows how to get the data from the external resource and
+ turn it into a valid set of parameters.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="annotation.type.element.detail">
+<!-- -->
+</a>
+<h3>Element Detail</h3>
+<a name="value--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>value</h4>
+<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value</pre>
+<div class="block">File name (with full path) of the file with data.</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="mapper--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>mapper</h4>
+<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../junitparams/mappers/DataMapper.html" title="interface in junitparams.mappers">DataMapper</a>&gt;&nbsp;mapper</pre>
+<div class="block">The mapper which knows how to get the data from the external resource and
+ turn it into a valid set of parameters. By default it is an
+ IdentityMapper, meaning the resource has exactly the same format as the
+
+ &#064;Parameters annotation value (when passed as String), being CSV.</div>
+<dl>
+<dt>Default:</dt>
+<dd>junitparams.mappers.IdentityMapper.class</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= 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><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FileParameters.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../deprecated-list.html">Deprecated</a></li>
+<li><a href="../index-all.html">Index</a></li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../junitparams/JUnitParamsRunner.html" title="class in junitparams"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?junitparams/FileParameters.html" target="_top">Frames</a></li>
+<li><a href="FileParameters.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>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#annotation.type.required.element.summary">Required</a>&nbsp;|&nbsp;</li>
+<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#annotation.type.element.detail">Element</a></li>
+</ul>
+</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>
diff --git a/apidocs/junitparams/InvokeParameterisedMethod.html b/apidocs/junitparams/InvokeParameterisedMethod.html
new file mode 100644
index 0000000..61829cb
--- /dev/null
+++ b/apidocs/junitparams/InvokeParameterisedMethod.html
@@ -0,0 +1,291 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_29) on Mon Jan 09 12:02:55 CET 2012 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+InvokeParameterisedMethod (JUnitParams 0.3.8-SNAPSHOT API)
+</TITLE>
+
+<META NAME="date" CONTENT="2012-01-09">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="InvokeParameterisedMethod (JUnitParams 0.3.8-SNAPSHOT API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../junitparams/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/InvokeParameterisedMethod.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../junitparams/JUnitParamsRunner.html" title="class in junitparams"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../index.html?junitparams/InvokeParameterisedMethod.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="InvokeParameterisedMethod.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+junitparams</FONT>
+<BR>
+Class InvokeParameterisedMethod</H2>
+<PRE>
+<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../resources/inherit.gif" ALT="extended by ">org.junit.runners.model.Statement
+ <IMG SRC="../resources/inherit.gif" ALT="extended by "><B>junitparams.InvokeParameterisedMethod</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>InvokeParameterisedMethod</B><DT>extends org.junit.runners.model.Statement</DL>
+</PRE>
+
+<P>
+JUnit invoker for parameterised test methods
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>Pawel Lipinski</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../junitparams/InvokeParameterisedMethod.html#InvokeParameterisedMethod(org.junit.runners.model.FrameworkMethod, java.lang.Object, java.lang.Object, int)">InvokeParameterisedMethod</A></B>(org.junit.runners.model.FrameworkMethod&nbsp;testMethod,
+ <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;testClass,
+ <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;params,
+ int&nbsp;paramSetIdx)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../junitparams/InvokeParameterisedMethod.html#evaluate()">evaluate</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../junitparams/InvokeParameterisedMethod.html#getParamsAsString()">getParamsAsString</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="InvokeParameterisedMethod(org.junit.runners.model.FrameworkMethod, java.lang.Object, java.lang.Object, int)"><!-- --></A><H3>
+InvokeParameterisedMethod</H3>
+<PRE>
+public <B>InvokeParameterisedMethod</B>(org.junit.runners.model.FrameworkMethod&nbsp;testMethod,
+ <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;testClass,
+ <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;params,
+ int&nbsp;paramSetIdx)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getParamsAsString()"><!-- --></A><H3>
+getParamsAsString</H3>
+<PRE>
+public <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getParamsAsString</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="evaluate()"><!-- --></A><H3>
+evaluate</H3>
+<PRE>
+public void <B>evaluate</B>()
+ throws <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>evaluate</CODE> in class <CODE>org.junit.runners.model.Statement</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../junitparams/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/InvokeParameterisedMethod.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../junitparams/JUnitParamsRunner.html" title="class in junitparams"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../index.html?junitparams/InvokeParameterisedMethod.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="InvokeParameterisedMethod.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &#169; 2012 <a href="http://pragmatists.pl">Pragmatists</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/apidocs/junitparams/JUnitParamsRunner.html b/apidocs/junitparams/JUnitParamsRunner.html
new file mode 100644
index 0000000..5b10989
--- /dev/null
+++ b/apidocs/junitparams/JUnitParamsRunner.html
@@ -0,0 +1,791 @@
+<!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>JUnitParamsRunner (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="JUnitParamsRunner (JUnitParams 1.0.3-SNAPSHOT API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</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><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JUnitParamsRunner.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../deprecated-list.html">Deprecated</a></li>
+<li><a href="../index-all.html">Index</a></li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../junitparams/FileParameters.html" title="annotation in junitparams"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../junitparams/Parameters.html" title="annotation in junitparams"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?junitparams/JUnitParamsRunner.html" target="_top">Frames</a></li>
+<li><a href="JUnitParamsRunner.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>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">junitparams</div>
+<h2 title="Class JUnitParamsRunner" class="title">Class JUnitParamsRunner</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.junit.runner.Runner</li>
+<li>
+<ul class="inheritance">
+<li>org.junit.runners.ParentRunner&lt;org.junit.runners.model.FrameworkMethod&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.junit.runners.BlockJUnit4ClassRunner</li>
+<li>
+<ul class="inheritance">
+<li>junitparams.JUnitParamsRunner</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd>org.junit.runner.Describable, org.junit.runner.manipulation.Filterable, org.junit.runner.manipulation.Sortable</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">JUnitParamsRunner</span>
+extends org.junit.runners.BlockJUnit4ClassRunner</pre>
+<div class="block"><h1>JUnitParams</h1><br>
+ <p>
+ This is a JUnit runner for parameterised tests that don't suck. Annotate your test class with
+ <code>&#064;RunWith(JUnitParamsRunner.class)</code> and place
+ <code>&#064;Parameters</code> annotation on each test method which requires
+ parameters. Nothing more needed - no special structure, no dirty tricks.
+ </p>
+ <br>
+ <h2>Contents</h2> <b> <a href="#p1">1. Parameterising tests</a><br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#a">a. Parameterising tests via values
+ in annotation</a><br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#b">b. Parameterising tests via a
+ method that returns parameter values</a><br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#c">c. Parameterising tests via
+ external classes</a><br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#d">d. Loading parameters from files</a><br>
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#d">e. Converting parameter values</a><br>
+ <a href="#p2">2. Usage with Spring</a><br>
+ <a href="#p3">3. Other options</a><br>
+ </b><br>
+ <h3 id="p1">1. Parameterising tests</h3> Parameterised tests are a great way
+ to limit the amount of test code when you need to test the same code under
+ different conditions. Ever tried to do it with standard JUnit tools like
+ Parameterized runner or Theories? I always thought they're so awkward to use,
+ that I've written this library to help all those out there who'd like to have
+ a handy tool.
+
+ So here we go. There are a few different ways to use JUnitParams, I will try
+ to show you all of them here.
+
+ <h4 id="a">a. Parameterising tests via values in annotation</h4>
+ <p>
+ You can parameterise your test with values defined in annotations. Just pass
+ sets of test method argument values as an array of Strings, where each string
+ contains the argument values separated by a comma or a pipe "|".
+
+ <pre>
+ &#064;Test
+ &#064;Parameters({ "20, Tarzan", "0, Jane" })
+ public void cartoonCharacters(int yearsInJungle, String person) {
+ ...
+ }
+ </pre>
+
+ Sometimes you may be interested in passing enum values as parameters, then
+ you can just write them as Strings like this:
+
+ <pre>
+ &#064;Test
+ &#064;Parameters({ &quot;FROM_JUNGLE&quot;, &quot;FROM_CITY&quot; })
+ public void passEnumAsParam(PersonType person) {
+ }
+ </pre>
+
+ <h4 id="b">b. Parameterising tests via a method that returns parameter values
+ </h4>
+ <p>
+ Obivously passing parameters as strings is handy only for trivial situations,
+ that's why for normal cases you have a method that gives you a collection of
+ parameters:
+
+ <pre>
+ &#064;Test
+ &#064;Parameters(method = "cartoonCharacters")
+ public void cartoonCharacters(int yearsInJungle, String person) {
+ ...
+ }
+ private Object[] cartoonCharacters() {
+ return $(
+ $(0, "Tarzan"),
+ $(20, "Jane")
+ );
+ }
+ </pre>
+
+ Where <code>$(...)</code> is a static method defined in
+ <code>JUnitParamsRunner</code> class, which returns its parameters as a
+ <code>Object[]</code> array. Just a shortcut, so that you don't need to write the ugly <code>new Object[] {}</code> kind of stuff.
+
+ <p>
+ <code>method</code> can take more than one method name - you can pass as many
+ of them as you want, separated by commas. This enables you to divide your
+ test cases e.g. into categories.
+ <pre>
+ &#064;Test
+ &#064;Parameters(method = "menCharactes, womenCharacters")
+ public void cartoonCharacters(int yearsInJungle, String person) {
+ ...
+ }
+ private Object[] menCharacters() {
+ return $(
+ $(20, "Tarzan"),
+ $(2, "Chip"),
+ $(2, "Dale")
+ );
+ }
+ private Object[] womenCharacters() {
+ return $(
+ $(0, "Jane"),
+ $(18, "Pocahontas")
+ );
+ }
+ </pre>
+ <p>
+ The <code>method</code> argument of a <code>@Parameters</code> annotation can
+ be ommited if the method that provides parameters has a the same name as the
+ test, but prefixed by <code>parametersFor</code>. So our example would look
+ like this:
+
+ <pre>
+ &#064;Test
+ &#064;Parameters
+ public void cartoonCharacters(int yearsInJungle, String person) {
+ ...
+ }
+ private Object[] parametersForCartoonCharacters() {
+ return $(
+ $(0, "Tarzan"),
+ $(20, "Jane")
+ );
+ }
+ </pre>
+
+ <p>
+ If you don't like returning untyped values and arrays, you can equally well
+ return any Iterable of concrete objects:
+
+ <pre>
+ &#064;Test
+ &#064;Parameters
+ public void cartoonCharacters(Person character) {
+ ...
+ }
+ private List&lt;Person&gt; parametersForCartoonCharacters() {
+ return Arrays.asList(
+ new Person(0, "Tarzan"),
+ new Person(20, "Jane")
+ );
+ }
+ </pre>
+
+ If we had more than just two Person's to make, we would get redundant,
+ so JUnitParams gives you a simplified way of creating objects to be passed as
+ params. You can omit the creation of the objects and just return their constructor
+ argument values like this:
+
+ <pre>
+ &#064;Test
+ &#064;Parameters
+ public void cartoonCharacters(Person character) {
+ ...
+ }
+ private List&lt;?&gt; parametersForCartoonCharacters() {
+ return Arrays.asList(
+ $(0, "Tarzan"),
+ $(20, "Jane")
+ );
+ }
+ </pre>
+ And JUnitParams will invoke the appropriate constructor (<code>new Person(int age, String name)</code> in this case.)
+ <b>If you want to use it, watch out! Automatic refactoring of constructor
+ arguments won't be working here!</b>
+
+ <p>
+ You can also define methods that provide parameters in subclasses and use
+ them in test methods defined in superclasses, as well as redefine data
+ providing methods in subclasses to be used by test method defined in a
+ superclass. That you can doesn't mean you should. Inheritance in tests is
+ usually a code smell (readability hurts), so make sure you know what you're
+ doing.
+
+ <h4 id="c">c. Parameterising tests via external classes</h4>
+ <p>
+ For more complex cases you may want to externalise the method that provides
+ parameters or use more than one method to provide parameters to a single test
+ method. You can easily do that like this:
+
+ <pre>
+ &#064;Test
+ &#064;Parameters(source = CartoonCharactersProvider.class)
+ public void testReadyToLiveInJungle(int yearsInJungle, String person) {
+ ...
+ }
+ ...
+ class CartoonCharactersProvider {
+ public static Object[] provideCartoonCharactersManually() {
+ return $(
+ $(0, "Tarzan"),
+ $(20, "Jane")
+ );
+ }
+ public static Object[] provideCartoonCharactersFromDB() {
+ return cartoonsRepository.loadCharacters();
+ }
+ }
+ </pre>
+
+ All methods starting with <code>provide</code> are used as parameter
+ providers.
+
+ <p>
+ Sometimes though you may want to use just one or few methods of some class to
+ provide you parameters. This can be done as well like this:
+
+ <pre>
+ &#064;Test
+ &#064;Parameters(source = CartoonCharactersProvider.class, method = "cinderellaCharacters,snowwhiteCharacters")
+ public void testPrincesses(boolean isAPrincess, String characterName) {
+ ...
+ }
+ </pre>
+
+
+ <h4 id="d">d. Loading parameters from files</h4> You may be interested in
+ loading parameters from a file. This is very easy if it's a CSV file with
+ columns in the same order as test method parameters:
+
+ <pre>
+ &#064;Test
+ &#064;FileParameters("cartoon-characters.csv")
+ public void shouldSurviveInJungle(int yearsInJungle, String person) {
+ ...
+ }
+ </pre>
+
+ But if you want to process the data from the CSV file a bit to use it in the
+ test method arguments, you
+ need to use an <code>IdentityMapper</code>. Look:
+
+ <pre>
+ &#064;Test
+ &#064;FileParameters(value = "cartoon-characters.csv", mapper = CartoonMapper.class)
+ public void shouldSurviveInJungle(Person person) {
+ ...
+ }
+
+ public class CartoonMapper extends IdentityMapper {
+ &#064;Override
+ public Object[] map(Reader reader) {
+ Object[] map = super.map(reader);
+ List&lt;Object[]&gt; result = new LinkedList&lt;Object[]&gt;();
+ for (Object lineObj : map) {
+ String line = (String) lineObj; // line in a format just like in the file
+ result.add(new Object[] { ..... }); // some format edible by the test method
+ }
+ return result.toArray();
+ }
+
+ }
+ </pre>
+
+ A CSV files with a header are also supported with the use of <code>CsvWithHeaderMapper</code> class.
+
+ You may also want to use a completely different file format, like excel or
+ something. Then just parse it yourself:
+
+ <pre>
+ &#064;Test
+ &#064;FileParameters(value = "cartoon-characters.xsl", mapper = ExcelCartoonMapper.class)
+ public void shouldSurviveInJungle(Person person) {
+ ...
+ }
+
+ public class CartoonMapper implements DataMapper {
+ &#064;Override
+ public Object[] map(Reader fileReader) {
+ ...
+ }
+ }
+ </pre>
+
+ As you see, you don't need to open or close the file. Just read it from the
+ reader and parse it the way you wish.
+
+ By default the file is loaded from the file system, relatively to where you start the tests from. But you can also use a resource from
+ the classpath by prefixing the file name with <code>classpath:</code>
+
+ <h4 id="e">e. Converting parameter values</h4>
+ Sometimes you want to pass some parameter in one form, but use it in the test in another. Dates are a good example. It's handy to
+ specify them in the parameters as a String like "2013.01.01", but you'd like to use a Jodatime's LocalDate or JDKs Date in the test
+ without manually converting the value in the test. This is where the converters become handy. It's enough to annotate a parameter with
+ a <code>&#064;ConvertParam</code> annotation, give it a converter class and possibly some options (like date format in this case) and
+ you're done. Here's an example:
+ <pre>
+ &#064;Test
+ &#064;Parameters({ "01.12.2012, A" })
+ public void convertMultipleParams(
+ &#064;ConvertParam(value = StringToDateConverter.class, options = "dd.MM.yyyy") Date date,
+ &#064;ConvertParam(LetterToASCIIConverter.class) int num) {
+
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(date);
+
+ assertEquals(2012, calendar.get(Calendar.YEAR));
+ assertEquals(11, calendar.get(Calendar.MONTH));
+ assertEquals(1, calendar.get(Calendar.DAY_OF_MONTH));
+
+ assertEquals(65, num);
+ }
+ </pre>
+
+ <h3 id="p2">2. Usage with Spring</h3>
+ <p>
+ You can easily use JUnitParams together with Spring. The only problem is that
+ Spring's test framework is based on JUnit runners, and JUnit allows only one
+ runner to be run at once. Which would normally mean that you could use only
+ one of Spring or JUnitParams. Luckily we can cheat Spring a little by adding
+ this to your test class:
+
+ <pre>
+ private TestContextManager testContextManager;
+
+ &#064;Before
+ public void init() throws Exception {
+ this.testContextManager = new TestContextManager(getClass());
+ this.testContextManager.prepareTestInstance(this);
+ }
+ </pre>
+
+ This lets you use in your tests anything that Spring provides in its test
+ framework.
+
+ <h3 id="p3">3. Other options</h3> <h4>Customizing how parameter objects are
+ shown in IDE</h4>
+ <p>
+ Tests show up in your IDE as a tree with test class name being the root, test
+ methods being nodes, and parameter sets being the leaves. If you want to
+ customize the way an parameter object is shown, create a <b>toString</b>
+ method for it.
+ <h4>Empty parameter sets</h4>
+ <p>
+ If you create a parameterised test, but won't give it any parameter sets, it
+ will be ignored and you'll be warned about it.
+ <h4>Parameterised test with no parameters</h4>
+ <p>
+ If for some reason you want to have a normal non-parameterised method to be
+ annotated with @Parameters, then fine, you can do it. But it will be ignored
+ then, since there won't be any params for it, and parameterised tests need
+ parameters to execute properly (parameters are a part of test setup, right?)
+ <h4>JUnit Rules</h4>
+ <p>
+ The runner for parameterised test is trying to keep all the @Rule's running,
+ but if something doesn't work - let me know. It's pretty tricky, since the
+ rules in JUnit are chained, but the chain is kind of... unstructured, so
+ sometimes I need to guess how to call the next element in chain. If you have
+ your own rule, make sure it has a field of type Statement which is the next
+ statement in chain to call.
+ <h4>Test inheritance</h4>
+ <p>
+ Although usually a bad idea, since it makes tests less readable, sometimes
+ inheritance is the best way to remove repetitions from tests. JUnitParams is
+ fine with inheritance - you can define a common test in the superclass, and
+ have separate parameters provider methods in the subclasses. Also the other
+ way around is ok, you can define parameter providers in superclass and have
+ tests in subclasses uses them as their input.</div>
+<dl>
+<dt><span class="simpleTagLabel">Author:</span></dt>
+<dd>Pawel Lipinski (lipinski.pawel@gmail.com)</dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../junitparams/JUnitParamsRunner.html#JUnitParamsRunner-java.lang.Class-">JUnitParamsRunner</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;klass)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../junitparams/JUnitParamsRunner.html#Z:Z:D-java.lang.Object...-">$</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;params)</code>
+<div class="block">Shortcut for returning an array of objects.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../junitparams/JUnitParamsRunner.html#collectInitializationErrors-java.util.List-">collectInitializationErrors</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&gt;&nbsp;errors)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.junit.runners.model.FrameworkMethod&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../junitparams/JUnitParamsRunner.html#computeTestMethods--">computeTestMethods</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>protected org.junit.runner.Description</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../junitparams/JUnitParamsRunner.html#describeMethod-org.junit.runners.model.FrameworkMethod-">describeMethod</a></span>(org.junit.runners.model.FrameworkMethod&nbsp;method)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>org.junit.runner.Description</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../junitparams/JUnitParamsRunner.html#getDescription--">getDescription</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>protected org.junit.runners.model.Statement</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../junitparams/JUnitParamsRunner.html#methodInvoker-org.junit.runners.model.FrameworkMethod-java.lang.Object-">methodInvoker</a></span>(org.junit.runners.model.FrameworkMethod&nbsp;method,
+ <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;test)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../junitparams/JUnitParamsRunner.html#runChild-org.junit.runners.model.FrameworkMethod-org.junit.runner.notification.RunNotifier-">runChild</a></span>(org.junit.runners.model.FrameworkMethod&nbsp;method,
+ org.junit.runner.notification.RunNotifier&nbsp;notifier)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.junit.runners.BlockJUnit4ClassRunner">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.junit.runners.BlockJUnit4ClassRunner</h3>
+<code>createTest, describeChild, getChildren, getTestRules, methodBlock, possiblyExpectingExceptions, rules, testName, validateConstructor, validateFields, validateInstanceMethods, validateNoNonStaticInnerClass, validateOnlyOneConstructor, validateTestMethods, validateZeroArgConstructor, withAfters, withBefores, withPotentialTimeout</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.junit.runners.ParentRunner">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.junit.runners.ParentRunner</h3>
+<code>childrenInvoker, classBlock, classRules, filter, getName, getRunnerAnnotations, getTestClass, run, runLeaf, setScheduler, sort, validatePublicVoidNoArgMethods, withAfterClasses, withBeforeClasses</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.junit.runner.Runner">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;org.junit.runner.Runner</h3>
+<code>testCount</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="JUnitParamsRunner-java.lang.Class-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>JUnitParamsRunner</h4>
+<pre>public&nbsp;JUnitParamsRunner(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;klass)
+ throws org.junit.runners.model.InitializationError</pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>org.junit.runners.model.InitializationError</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="collectInitializationErrors-java.util.List-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>collectInitializationErrors</h4>
+<pre>protected&nbsp;void&nbsp;collectInitializationErrors(<a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&gt;&nbsp;errors)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>collectInitializationErrors</code>&nbsp;in class&nbsp;<code>org.junit.runners.BlockJUnit4ClassRunner</code></dd>
+</dl>
+</li>
+</ul>
+<a name="runChild-org.junit.runners.model.FrameworkMethod-org.junit.runner.notification.RunNotifier-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>runChild</h4>
+<pre>protected&nbsp;void&nbsp;runChild(org.junit.runners.model.FrameworkMethod&nbsp;method,
+ org.junit.runner.notification.RunNotifier&nbsp;notifier)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>runChild</code>&nbsp;in class&nbsp;<code>org.junit.runners.BlockJUnit4ClassRunner</code></dd>
+</dl>
+</li>
+</ul>
+<a name="computeTestMethods--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>computeTestMethods</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.junit.runners.model.FrameworkMethod&gt;&nbsp;computeTestMethods()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>computeTestMethods</code>&nbsp;in class&nbsp;<code>org.junit.runners.BlockJUnit4ClassRunner</code></dd>
+</dl>
+</li>
+</ul>
+<a name="methodInvoker-org.junit.runners.model.FrameworkMethod-java.lang.Object-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>methodInvoker</h4>
+<pre>protected&nbsp;org.junit.runners.model.Statement&nbsp;methodInvoker(org.junit.runners.model.FrameworkMethod&nbsp;method,
+ <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;test)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>methodInvoker</code>&nbsp;in class&nbsp;<code>org.junit.runners.BlockJUnit4ClassRunner</code></dd>
+</dl>
+</li>
+</ul>
+<a name="getDescription--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDescription</h4>
+<pre>public&nbsp;org.junit.runner.Description&nbsp;getDescription()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>getDescription</code>&nbsp;in interface&nbsp;<code>org.junit.runner.Describable</code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>getDescription</code>&nbsp;in class&nbsp;<code>org.junit.runners.ParentRunner&lt;org.junit.runners.model.FrameworkMethod&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="describeMethod-org.junit.runners.model.FrameworkMethod-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>describeMethod</h4>
+<pre>protected&nbsp;org.junit.runner.Description&nbsp;describeMethod(org.junit.runners.model.FrameworkMethod&nbsp;method)</pre>
+</li>
+</ul>
+<a name="Z:Z:D-java.lang.Object...-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>$</h4>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;$(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;params)</pre>
+<div class="block">Shortcut for returning an array of objects. All parameters passed to this
+ method are returned in an <code>Object[]</code> array.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>params</code> - Values to be returned in an <code>Object[]</code> array.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Values passed to this method.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= 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><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JUnitParamsRunner.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../deprecated-list.html">Deprecated</a></li>
+<li><a href="../index-all.html">Index</a></li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../junitparams/FileParameters.html" title="annotation in junitparams"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../junitparams/Parameters.html" title="annotation in junitparams"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?junitparams/JUnitParamsRunner.html" target="_top">Frames</a></li>
+<li><a href="JUnitParamsRunner.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>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</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>
diff --git a/apidocs/junitparams/ParameterisedTestClassRunner.html b/apidocs/junitparams/ParameterisedTestClassRunner.html
new file mode 100644
index 0000000..7ccfc0e
--- /dev/null
+++ b/apidocs/junitparams/ParameterisedTestClassRunner.html
@@ -0,0 +1,482 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_29) on Mon Jan 09 12:02:55 CET 2012 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+ParameterisedTestClassRunner (JUnitParams 0.3.8-SNAPSHOT API)
+</TITLE>
+
+<META NAME="date" CONTENT="2012-01-09">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="ParameterisedTestClassRunner (JUnitParams 0.3.8-SNAPSHOT API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../junitparams/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ParameterisedTestClassRunner.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../junitparams/JUnitParamsRunner.html" title="class in junitparams"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../junitparams/ParameterisedTestMethodRunner.html" title="class in junitparams"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../index.html?junitparams/ParameterisedTestClassRunner.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="ParameterisedTestClassRunner.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+junitparams</FONT>
+<BR>
+Class ParameterisedTestClassRunner</H2>
+<PRE>
+<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../resources/inherit.gif" ALT="extended by "><B>junitparams.ParameterisedTestClassRunner</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>ParameterisedTestClassRunner</B><DT>extends <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+Testclass-level functionalities to handle parameters from a JUnit runner
+ class.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>Pawel Lipinski</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&lt;<A HREF="../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A>,<A HREF="../junitparams/ParameterisedTestMethodRunner.html" title="class in junitparams">ParameterisedTestMethodRunner</A>&gt;</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../junitparams/ParameterisedTestClassRunner.html#parameterisedMethods">parameterisedMethods</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&lt;org.junit.runners.model.FrameworkMethod,<A HREF="../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A>&gt;</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../junitparams/ParameterisedTestClassRunner.html#testMethods">testMethods</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&lt;<A HREF="../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A>&gt;</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../junitparams/ParameterisedTestClassRunner.html#testMethodsList">testMethodsList</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../junitparams/ParameterisedTestClassRunner.html#ParameterisedTestClassRunner(org.junit.runners.model.TestClass)">ParameterisedTestClassRunner</A></B>(org.junit.runners.model.TestClass&nbsp;testClass)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a runner for a given test class.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&lt;org.junit.runners.model.FrameworkMethod&gt;</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../junitparams/ParameterisedTestClassRunner.html#computeFrameworkMethods(boolean)">computeFrameworkMethods</A></B>(boolean&nbsp;firstTimeJustToGetNames)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a list of <code>FrameworkMethod</code>s.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../junitparams/ParameterisedTestClassRunner.html#computeTestMethods(org.junit.runners.model.TestClass)">computeTestMethods</A></B>(org.junit.runners.model.TestClass&nbsp;testClass)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;org.junit.runner.Description</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../junitparams/ParameterisedTestClassRunner.html#describeParameterisedMethod(org.junit.runners.model.FrameworkMethod)">describeParameterisedMethod</A></B>(org.junit.runners.model.FrameworkMethod&nbsp;method)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns description of a parameterised method.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;org.junit.runners.model.Statement</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../junitparams/ParameterisedTestClassRunner.html#parameterisedMethodInvoker(org.junit.runners.model.FrameworkMethod, java.lang.Object)">parameterisedMethodInvoker</A></B>(org.junit.runners.model.FrameworkMethod&nbsp;method,
+ <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;testClass)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a InvokeParameterisedMethod for parameterised methods and null
+ for nonparameterised</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../junitparams/ParameterisedTestClassRunner.html#runParameterisedTest(junitparams.TestMethod, org.junit.runners.model.Statement, org.junit.runner.notification.RunNotifier)">runParameterisedTest</A></B>(<A HREF="../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A>&nbsp;method,
+ org.junit.runners.model.Statement&nbsp;methodInvoker,
+ org.junit.runner.notification.RunNotifier&nbsp;notifier)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Executes parameterised method.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../junitparams/ParameterisedTestClassRunner.html#shouldRun(junitparams.TestMethod)">shouldRun</A></B>(<A HREF="../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A>&nbsp;testMethod)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tells if method should be run by this runner.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../junitparams/ParameterisedTestClassRunner.html#testMethodFor(org.junit.runners.model.FrameworkMethod)">testMethodFor</A></B>(org.junit.runners.model.FrameworkMethod&nbsp;method)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a cached TestMethod object related to the given FrameworkMethod.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="parameterisedMethods"><!-- --></A><H3>
+parameterisedMethods</H3>
+<PRE>
+protected <A HREF="http://download.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&lt;<A HREF="../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A>,<A HREF="../junitparams/ParameterisedTestMethodRunner.html" title="class in junitparams">ParameterisedTestMethodRunner</A>&gt; <B>parameterisedMethods</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="testMethods"><!-- --></A><H3>
+testMethods</H3>
+<PRE>
+protected <A HREF="http://download.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&lt;org.junit.runners.model.FrameworkMethod,<A HREF="../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A>&gt; <B>testMethods</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="testMethodsList"><!-- --></A><H3>
+testMethodsList</H3>
+<PRE>
+protected <A HREF="http://download.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&lt;<A HREF="../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A>&gt; <B>testMethodsList</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="ParameterisedTestClassRunner(org.junit.runners.model.TestClass)"><!-- --></A><H3>
+ParameterisedTestClassRunner</H3>
+<PRE>
+public <B>ParameterisedTestClassRunner</B>(org.junit.runners.model.TestClass&nbsp;testClass)</PRE>
+<DL>
+<DD>Creates a runner for a given test class. Computes all the test methods
+ that are annotated as tests. Retrieves and caches all parameter values.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>testClass</CODE> - </DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="computeTestMethods(org.junit.runners.model.TestClass)"><!-- --></A><H3>
+computeTestMethods</H3>
+<PRE>
+protected void <B>computeTestMethods</B>(org.junit.runners.model.TestClass&nbsp;testClass)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="computeFrameworkMethods(boolean)"><!-- --></A><H3>
+computeFrameworkMethods</H3>
+<PRE>
+public <A HREF="http://download.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&lt;org.junit.runners.model.FrameworkMethod&gt; <B>computeFrameworkMethods</B>(boolean&nbsp;firstTimeJustToGetNames)</PRE>
+<DL>
+<DD>Returns a list of <code>FrameworkMethod</code>s. Handles both
+ parameterised methods (counts them as many times as many paramsets they
+ have) and nonparameterised methods (just counts them once).
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>firstTimeJustToGetNames</CODE> - If true, returns only parameterised methods once - used by
+ JUnit for building the tree of test names without the params.
+<DT><B>Returns:</B><DD>a list of FrameworkMethod objects</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="parameterisedMethodInvoker(org.junit.runners.model.FrameworkMethod, java.lang.Object)"><!-- --></A><H3>
+parameterisedMethodInvoker</H3>
+<PRE>
+public org.junit.runners.model.Statement <B>parameterisedMethodInvoker</B>(org.junit.runners.model.FrameworkMethod&nbsp;method,
+ <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;testClass)</PRE>
+<DL>
+<DD>Returns a InvokeParameterisedMethod for parameterised methods and null
+ for nonparameterised
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>method</CODE> - Test method<DD><CODE>testClass</CODE> -
+<DT><B>Returns:</B><DD>a Statement with the invoker for the parameterised method</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="shouldRun(junitparams.TestMethod)"><!-- --></A><H3>
+shouldRun</H3>
+<PRE>
+public boolean <B>shouldRun</B>(<A HREF="../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A>&nbsp;testMethod)</PRE>
+<DL>
+<DD>Tells if method should be run by this runner.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>testMethod</CODE> -
+<DT><B>Returns:</B><DD>true, iff testMethod should be run by this runner.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="runParameterisedTest(junitparams.TestMethod, org.junit.runners.model.Statement, org.junit.runner.notification.RunNotifier)"><!-- --></A><H3>
+runParameterisedTest</H3>
+<PRE>
+public void <B>runParameterisedTest</B>(<A HREF="../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A>&nbsp;method,
+ org.junit.runners.model.Statement&nbsp;methodInvoker,
+ org.junit.runner.notification.RunNotifier&nbsp;notifier)</PRE>
+<DL>
+<DD>Executes parameterised method.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>method</CODE> - <DD><CODE>methodInvoker</CODE> - <DD><CODE>notifier</CODE> - </DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describeParameterisedMethod(org.junit.runners.model.FrameworkMethod)"><!-- --></A><H3>
+describeParameterisedMethod</H3>
+<PRE>
+public org.junit.runner.Description <B>describeParameterisedMethod</B>(org.junit.runners.model.FrameworkMethod&nbsp;method)</PRE>
+<DL>
+<DD>Returns description of a parameterised method.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>method</CODE> - TODO
+<DT><B>Returns:</B><DD>Description of a method or null if it's not parameterised.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="testMethodFor(org.junit.runners.model.FrameworkMethod)"><!-- --></A><H3>
+testMethodFor</H3>
+<PRE>
+public <A HREF="../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A> <B>testMethodFor</B>(org.junit.runners.model.FrameworkMethod&nbsp;method)</PRE>
+<DL>
+<DD>Returns a cached TestMethod object related to the given FrameworkMethod.
+ This object has all the params already retrieved, so use this one and not
+ TestMethod's constructor if you want to have everything retrieved once
+ and cached.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>method</CODE> -
+<DT><B>Returns:</B><DD>a cached TestMethod instance</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../junitparams/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ParameterisedTestClassRunner.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../junitparams/JUnitParamsRunner.html" title="class in junitparams"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../junitparams/ParameterisedTestMethodRunner.html" title="class in junitparams"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../index.html?junitparams/ParameterisedTestClassRunner.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="ParameterisedTestClassRunner.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &#169; 2012 <a href="http://pragmatists.pl">Pragmatists</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/apidocs/junitparams/ParameterisedTestMethodRunner.html b/apidocs/junitparams/ParameterisedTestMethodRunner.html
new file mode 100644
index 0000000..0ea75ba
--- /dev/null
+++ b/apidocs/junitparams/ParameterisedTestMethodRunner.html
@@ -0,0 +1,314 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_29) on Mon Jan 09 12:02:55 CET 2012 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+ParameterisedTestMethodRunner (JUnitParams 0.3.8-SNAPSHOT API)
+</TITLE>
+
+<META NAME="date" CONTENT="2012-01-09">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="ParameterisedTestMethodRunner (JUnitParams 0.3.8-SNAPSHOT API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../junitparams/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ParameterisedTestMethodRunner.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../junitparams/ParameterisedTestClassRunner.html" title="class in junitparams"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../junitparams/Parameters.html" title="annotation in junitparams"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../index.html?junitparams/ParameterisedTestMethodRunner.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="ParameterisedTestMethodRunner.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+junitparams</FONT>
+<BR>
+Class ParameterisedTestMethodRunner</H2>
+<PRE>
+<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../resources/inherit.gif" ALT="extended by "><B>junitparams.ParameterisedTestMethodRunner</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>ParameterisedTestMethodRunner</B><DT>extends <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+Testmethod-level functionalities for parameterised tests
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>Pawel Lipinski</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../junitparams/ParameterisedTestMethodRunner.html#method">method</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../junitparams/ParameterisedTestMethodRunner.html#ParameterisedTestMethodRunner(junitparams.TestMethod)">ParameterisedTestMethodRunner</A></B>(<A HREF="../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A>&nbsp;testMethod)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../junitparams/ParameterisedTestMethodRunner.html#count()">count</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../junitparams/ParameterisedTestMethodRunner.html#nextCount()">nextCount</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="method"><!-- --></A><H3>
+method</H3>
+<PRE>
+public final <A HREF="../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A> <B>method</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="ParameterisedTestMethodRunner(junitparams.TestMethod)"><!-- --></A><H3>
+ParameterisedTestMethodRunner</H3>
+<PRE>
+public <B>ParameterisedTestMethodRunner</B>(<A HREF="../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A>&nbsp;testMethod)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="nextCount()"><!-- --></A><H3>
+nextCount</H3>
+<PRE>
+public int <B>nextCount</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="count()"><!-- --></A><H3>
+count</H3>
+<PRE>
+public int <B>count</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../junitparams/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ParameterisedTestMethodRunner.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../junitparams/ParameterisedTestClassRunner.html" title="class in junitparams"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../junitparams/Parameters.html" title="annotation in junitparams"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../index.html?junitparams/ParameterisedTestMethodRunner.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="ParameterisedTestMethodRunner.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &#169; 2012 <a href="http://pragmatists.pl">Pragmatists</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/apidocs/junitparams/Parameters.html b/apidocs/junitparams/Parameters.html
new file mode 100644
index 0000000..2b6e8cc
--- /dev/null
+++ b/apidocs/junitparams/Parameters.html
@@ -0,0 +1,291 @@
+<!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>Parameters (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="Parameters (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><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Parameters.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../deprecated-list.html">Deprecated</a></li>
+<li><a href="../index-all.html">Index</a></li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../junitparams/JUnitParamsRunner.html" title="class in junitparams"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?junitparams/Parameters.html" target="_top">Frames</a></li>
+<li><a href="Parameters.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>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Required&nbsp;|&nbsp;</li>
+<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#annotation.type.element.detail">Element</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">junitparams</div>
+<h2 title="Annotation Type Parameters" class="title">Annotation Type Parameters</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/annotation/Retention.html?is-external=true" title="class or interface in java.lang.annotation">@Retention</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/annotation/Retention.html?is-external=true#value--" title="class or interface in java.lang.annotation">value</a>=<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/annotation/RetentionPolicy.html?is-external=true#RUNTIME" title="class or interface in java.lang.annotation">RUNTIME</a>)
+public @interface <span class="memberNameLabel">Parameters</span></pre>
+<div class="block">THE annotation for the test parameters. Use it to say that a method takes
+ some parameters and define how to obtain them.</div>
+<dl>
+<dt><span class="simpleTagLabel">Author:</span></dt>
+<dd>Pawel Lipinski</dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="annotation.type.optional.element.summary">
+<!-- -->
+</a>
+<h3>Optional Element Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Optional Element Summary table, listing optional elements, and an explanation">
+<caption><span>Optional Elements</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Optional Element and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../junitparams/Parameters.html#method--">method</a></span></code>
+<div class="block">Parameter values returned by a method within the test class.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../junitparams/Parameters.html#source--">source</a></span></code>
+<div class="block">Parameter values defined externally.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../junitparams/Parameters.html#value--">value</a></span></code>
+<div class="block">Parameter values defined as a String array.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="annotation.type.element.detail">
+<!-- -->
+</a>
+<h3>Element Detail</h3>
+<a name="value--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>value</h4>
+<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;value</pre>
+<div class="block">Parameter values defined as a String array. Each element in the array is
+ a full parameter set, comma-separated. The values must match the method
+ parameters in order and type.
+ Example: <code>@Parameters({
+ "1, joe, 26.4, true",
+ "2, angie, 37.2, false"}</code></div>
+<dl>
+<dt>Default:</dt>
+<dd>{}</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="source--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>source</h4>
+<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;source</pre>
+<div class="block">Parameter values defined externally. The specified class must have at
+ least one public static method starting with <code>provide</code>
+ returning <code>Object[]</code>. All such methods are used, so you can
+ group your examples. The resulting array should contain parameter sets in
+ its elements. Each parameter set must be another Object[] array, which
+ contains parameter values in its elements.
+ Example: <code>@Parameters(source = PeopleProvider.class)</code></div>
+<dl>
+<dt>Default:</dt>
+<dd>javax.lang.model.type.NullType.class</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="method--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>method</h4>
+<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;method</pre>
+<div class="block">Parameter values returned by a method within the test class. This way you
+ don't need additional classes and the test code may be a bit cleaner. The
+ format of the data returned by the method is the same as for the source
+ annotation class.
+ Example: <code>@Parameters(method = "examplaryPeople")</code>
+
+ You can use multiple methods to provide parameters - use comma to do it:
+ Example: <code>@Parameters(method = "womenParams, menParams")</code></div>
+<dl>
+<dt>Default:</dt>
+<dd>""</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= 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><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Parameters.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../deprecated-list.html">Deprecated</a></li>
+<li><a href="../index-all.html">Index</a></li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../junitparams/JUnitParamsRunner.html" title="class in junitparams"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?junitparams/Parameters.html" target="_top">Frames</a></li>
+<li><a href="Parameters.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>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Required&nbsp;|&nbsp;</li>
+<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#annotation.type.element.detail">Element</a></li>
+</ul>
+</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>
diff --git a/apidocs/junitparams/TestMethod.html b/apidocs/junitparams/TestMethod.html
new file mode 100644
index 0000000..9944431
--- /dev/null
+++ b/apidocs/junitparams/TestMethod.html
@@ -0,0 +1,430 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_29) on Mon Jan 09 12:02:55 CET 2012 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+TestMethod (JUnitParams 0.3.8-SNAPSHOT API)
+</TITLE>
+
+<META NAME="date" CONTENT="2012-01-09">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="TestMethod (JUnitParams 0.3.8-SNAPSHOT API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../junitparams/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TestMethod.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../junitparams/Parameters.html" title="annotation in junitparams"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../index.html?junitparams/TestMethod.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="TestMethod.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+junitparams</FONT>
+<BR>
+Class TestMethod</H2>
+<PRE>
+<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../resources/inherit.gif" ALT="extended by "><B>junitparams.TestMethod</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>TestMethod</B><DT>extends <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;org.junit.runners.model.FrameworkMethod</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../junitparams/TestMethod.html#frameworkMethod">frameworkMethod</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../junitparams/TestMethod.html#TestMethod(org.junit.runners.model.FrameworkMethod, org.junit.runners.model.TestClass)">TestMethod</A></B>(org.junit.runners.model.FrameworkMethod&nbsp;method,
+ org.junit.runners.model.TestClass&nbsp;testClass)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../junitparams/TestMethod.html#annotations()">annotations</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../junitparams/TestMethod.html#equals(java.lang.Object)">equals</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../junitparams/TestMethod.html#hashCode()">hashCode</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../junitparams/TestMethod.html#isIgnored()">isIgnored</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../junitparams/TestMethod.html#isNotIgnored()">isNotIgnored</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../junitparams/TestMethod.html#isParameterised()">isParameterised</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&lt;<A HREF="../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A>&gt;</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../junitparams/TestMethod.html#listFrom(java.util.List, org.junit.runners.model.TestClass)">listFrom</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&lt;org.junit.runners.model.FrameworkMethod&gt;&nbsp;annotatedMethods,
+ org.junit.runners.model.TestClass&nbsp;testClass)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../junitparams/TestMethod.html#name()">name</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="frameworkMethod"><!-- --></A><H3>
+frameworkMethod</H3>
+<PRE>
+protected org.junit.runners.model.FrameworkMethod <B>frameworkMethod</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="TestMethod(org.junit.runners.model.FrameworkMethod, org.junit.runners.model.TestClass)"><!-- --></A><H3>
+TestMethod</H3>
+<PRE>
+public <B>TestMethod</B>(org.junit.runners.model.FrameworkMethod&nbsp;method,
+ org.junit.runners.model.TestClass&nbsp;testClass)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="name()"><!-- --></A><H3>
+name</H3>
+<PRE>
+public <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>name</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="listFrom(java.util.List, org.junit.runners.model.TestClass)"><!-- --></A><H3>
+listFrom</H3>
+<PRE>
+public static <A HREF="http://download.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&lt;<A HREF="../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A>&gt; <B>listFrom</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&lt;org.junit.runners.model.FrameworkMethod&gt;&nbsp;annotatedMethods,
+ org.junit.runners.model.TestClass&nbsp;testClass)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hashCode()"><!-- --></A><H3>
+hashCode</H3>
+<PRE>
+public int <B>hashCode</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A></CODE> in class <CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="equals(java.lang.Object)"><!-- --></A><H3>
+equals</H3>
+<PRE>
+public boolean <B>equals</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A></CODE> in class <CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isIgnored()"><!-- --></A><H3>
+isIgnored</H3>
+<PRE>
+public boolean <B>isIgnored</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isNotIgnored()"><!-- --></A><H3>
+isNotIgnored</H3>
+<PRE>
+public boolean <B>isNotIgnored</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="annotations()"><!-- --></A><H3>
+annotations</H3>
+<PRE>
+public <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</A>[] <B>annotations</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isParameterised()"><!-- --></A><H3>
+isParameterised</H3>
+<PRE>
+public boolean <B>isParameterised</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../junitparams/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TestMethod.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../junitparams/Parameters.html" title="annotation in junitparams"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../index.html?junitparams/TestMethod.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="TestMethod.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &#169; 2012 <a href="http://pragmatists.pl">Pragmatists</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/apidocs/junitparams/class-use/DataMapper.html b/apidocs/junitparams/class-use/DataMapper.html
new file mode 100644
index 0000000..250ff71
--- /dev/null
+++ b/apidocs/junitparams/class-use/DataMapper.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_31) on Tue May 15 23:03:17 FET 2012 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Interface junitparams.DataMapper (JUnitParams 0.5.1-SNAPSHOT API)
+</TITLE>
+
+<META NAME="date" CONTENT="2012-05-15">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface junitparams.DataMapper (JUnitParams 0.5.1-SNAPSHOT API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../junitparams/DataMapper.html" title="interface in junitparams"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?junitparams//class-useDataMapper.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="DataMapper.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>junitparams.DataMapper</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../junitparams/DataMapper.html" title="interface in junitparams">DataMapper</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#junitparams.internal"><B>junitparams.internal</B></A></TD>
+<TD>&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="junitparams.internal"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../junitparams/DataMapper.html" title="interface in junitparams">DataMapper</A> in <A HREF="../../junitparams/internal/package-summary.html">junitparams.internal</A></FONT></TH>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../junitparams/internal/package-summary.html">junitparams.internal</A> that implement <A HREF="../../junitparams/DataMapper.html" title="interface in junitparams">DataMapper</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../junitparams/internal/IdentityMapper.html" title="class in junitparams.internal">IdentityMapper</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A mapper, that maps contents of a file to a set of parameters for test
+ methods.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../junitparams/DataMapper.html" title="interface in junitparams"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?junitparams//class-useDataMapper.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="DataMapper.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &#169; 2012 <a href="http://pragmatists.pl">Pragmatists</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/apidocs/junitparams/class-use/FileParameters.html b/apidocs/junitparams/class-use/FileParameters.html
new file mode 100644
index 0000000..7cd9f34
--- /dev/null
+++ b/apidocs/junitparams/class-use/FileParameters.html
@@ -0,0 +1,126 @@
+<!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>Uses of Class junitparams.FileParameters (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="Uses of Class junitparams.FileParameters (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><a href="../package-summary.html">Package</a></li>
+<li><a href="../../junitparams/FileParameters.html" title="annotation in junitparams">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../overview-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></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?junitparams/class-use/FileParameters.html" target="_top">Frames</a></li>
+<li><a href="FileParameters.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="header">
+<h2 title="Uses of Class junitparams.FileParameters" class="title">Uses of Class<br>junitparams.FileParameters</h2>
+</div>
+<div class="classUseContainer">No usage of junitparams.FileParameters</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><a href="../package-summary.html">Package</a></li>
+<li><a href="../../junitparams/FileParameters.html" title="annotation in junitparams">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../overview-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></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?junitparams/class-use/FileParameters.html" target="_top">Frames</a></li>
+<li><a href="FileParameters.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>
diff --git a/apidocs/junitparams/class-use/InvokeParameterisedMethod.html b/apidocs/junitparams/class-use/InvokeParameterisedMethod.html
new file mode 100644
index 0000000..b4eab02
--- /dev/null
+++ b/apidocs/junitparams/class-use/InvokeParameterisedMethod.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_29) on Mon Jan 09 12:02:55 CET 2012 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class junitparams.InvokeParameterisedMethod (JUnitParams 0.3.8-SNAPSHOT API)
+</TITLE>
+
+<META NAME="date" CONTENT="2012-01-09">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class junitparams.InvokeParameterisedMethod (JUnitParams 0.3.8-SNAPSHOT API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../junitparams/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../junitparams/InvokeParameterisedMethod.html" title="class in junitparams"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?junitparams//class-useInvokeParameterisedMethod.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="InvokeParameterisedMethod.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>junitparams.InvokeParameterisedMethod</B></H2>
+</CENTER>
+No usage of junitparams.InvokeParameterisedMethod
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../junitparams/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../junitparams/InvokeParameterisedMethod.html" title="class in junitparams"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?junitparams//class-useInvokeParameterisedMethod.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="InvokeParameterisedMethod.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &#169; 2012 <a href="http://pragmatists.pl">Pragmatists</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/apidocs/junitparams/class-use/JUnitParamsRunner.html b/apidocs/junitparams/class-use/JUnitParamsRunner.html
new file mode 100644
index 0000000..160e6d1
--- /dev/null
+++ b/apidocs/junitparams/class-use/JUnitParamsRunner.html
@@ -0,0 +1,126 @@
+<!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>Uses of Class junitparams.JUnitParamsRunner (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="Uses of Class junitparams.JUnitParamsRunner (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><a href="../package-summary.html">Package</a></li>
+<li><a href="../../junitparams/JUnitParamsRunner.html" title="class in junitparams">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../overview-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></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?junitparams/class-use/JUnitParamsRunner.html" target="_top">Frames</a></li>
+<li><a href="JUnitParamsRunner.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="header">
+<h2 title="Uses of Class junitparams.JUnitParamsRunner" class="title">Uses of Class<br>junitparams.JUnitParamsRunner</h2>
+</div>
+<div class="classUseContainer">No usage of junitparams.JUnitParamsRunner</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><a href="../package-summary.html">Package</a></li>
+<li><a href="../../junitparams/JUnitParamsRunner.html" title="class in junitparams">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../overview-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></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?junitparams/class-use/JUnitParamsRunner.html" target="_top">Frames</a></li>
+<li><a href="JUnitParamsRunner.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>
diff --git a/apidocs/junitparams/class-use/ParameterisedTestClassRunner.html b/apidocs/junitparams/class-use/ParameterisedTestClassRunner.html
new file mode 100644
index 0000000..7698706
--- /dev/null
+++ b/apidocs/junitparams/class-use/ParameterisedTestClassRunner.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_29) on Mon Jan 09 12:02:55 CET 2012 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class junitparams.ParameterisedTestClassRunner (JUnitParams 0.3.8-SNAPSHOT API)
+</TITLE>
+
+<META NAME="date" CONTENT="2012-01-09">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class junitparams.ParameterisedTestClassRunner (JUnitParams 0.3.8-SNAPSHOT API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../junitparams/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../junitparams/ParameterisedTestClassRunner.html" title="class in junitparams"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?junitparams//class-useParameterisedTestClassRunner.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="ParameterisedTestClassRunner.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>junitparams.ParameterisedTestClassRunner</B></H2>
+</CENTER>
+No usage of junitparams.ParameterisedTestClassRunner
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../junitparams/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../junitparams/ParameterisedTestClassRunner.html" title="class in junitparams"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?junitparams//class-useParameterisedTestClassRunner.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="ParameterisedTestClassRunner.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &#169; 2012 <a href="http://pragmatists.pl">Pragmatists</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/apidocs/junitparams/class-use/ParameterisedTestMethodRunner.html b/apidocs/junitparams/class-use/ParameterisedTestMethodRunner.html
new file mode 100644
index 0000000..548b96f
--- /dev/null
+++ b/apidocs/junitparams/class-use/ParameterisedTestMethodRunner.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_29) on Mon Jan 09 12:02:55 CET 2012 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class junitparams.ParameterisedTestMethodRunner (JUnitParams 0.3.8-SNAPSHOT API)
+</TITLE>
+
+<META NAME="date" CONTENT="2012-01-09">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class junitparams.ParameterisedTestMethodRunner (JUnitParams 0.3.8-SNAPSHOT API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../junitparams/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../junitparams/ParameterisedTestMethodRunner.html" title="class in junitparams"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?junitparams//class-useParameterisedTestMethodRunner.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="ParameterisedTestMethodRunner.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>junitparams.ParameterisedTestMethodRunner</B></H2>
+</CENTER>
+<A NAME="junitparams"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../junitparams/ParameterisedTestMethodRunner.html" title="class in junitparams">ParameterisedTestMethodRunner</A> in <A HREF="../../junitparams/package-summary.html">junitparams</A></FONT></TH>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../junitparams/package-summary.html">junitparams</A> with type parameters of type <A HREF="../../junitparams/ParameterisedTestMethodRunner.html" title="class in junitparams">ParameterisedTestMethodRunner</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&lt;<A HREF="../../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A>,<A HREF="../../junitparams/ParameterisedTestMethodRunner.html" title="class in junitparams">ParameterisedTestMethodRunner</A>&gt;</CODE></FONT></TD>
+<TD><CODE><B>ParameterisedTestClassRunner.</B><B><A HREF="../../junitparams/ParameterisedTestClassRunner.html#parameterisedMethods">parameterisedMethods</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../junitparams/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../junitparams/ParameterisedTestMethodRunner.html" title="class in junitparams"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?junitparams//class-useParameterisedTestMethodRunner.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="ParameterisedTestMethodRunner.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &#169; 2012 <a href="http://pragmatists.pl">Pragmatists</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/apidocs/junitparams/class-use/Parameters.html b/apidocs/junitparams/class-use/Parameters.html
new file mode 100644
index 0000000..9eac611
--- /dev/null
+++ b/apidocs/junitparams/class-use/Parameters.html
@@ -0,0 +1,126 @@
+<!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>Uses of Class junitparams.Parameters (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="Uses of Class junitparams.Parameters (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><a href="../package-summary.html">Package</a></li>
+<li><a href="../../junitparams/Parameters.html" title="annotation in junitparams">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../overview-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></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?junitparams/class-use/Parameters.html" target="_top">Frames</a></li>
+<li><a href="Parameters.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="header">
+<h2 title="Uses of Class junitparams.Parameters" class="title">Uses of Class<br>junitparams.Parameters</h2>
+</div>
+<div class="classUseContainer">No usage of junitparams.Parameters</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><a href="../package-summary.html">Package</a></li>
+<li><a href="../../junitparams/Parameters.html" title="annotation in junitparams">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../overview-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></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?junitparams/class-use/Parameters.html" target="_top">Frames</a></li>
+<li><a href="Parameters.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>
diff --git a/apidocs/junitparams/class-use/TestMethod.html b/apidocs/junitparams/class-use/TestMethod.html
new file mode 100644
index 0000000..22fff83
--- /dev/null
+++ b/apidocs/junitparams/class-use/TestMethod.html
@@ -0,0 +1,271 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_29) on Mon Jan 09 12:02:55 CET 2012 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class junitparams.TestMethod (JUnitParams 0.3.8-SNAPSHOT API)
+</TITLE>
+
+<META NAME="date" CONTENT="2012-01-09">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class junitparams.TestMethod (JUnitParams 0.3.8-SNAPSHOT API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../junitparams/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../junitparams/TestMethod.html" title="class in junitparams"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?junitparams//class-useTestMethod.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="TestMethod.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>junitparams.TestMethod</B></H2>
+</CENTER>
+<A NAME="junitparams"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A> in <A HREF="../../junitparams/package-summary.html">junitparams</A></FONT></TH>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../junitparams/package-summary.html">junitparams</A> declared as <A HREF="../../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A></CODE></FONT></TD>
+<TD><CODE><B>ParameterisedTestMethodRunner.</B><B><A HREF="../../junitparams/ParameterisedTestMethodRunner.html#method">method</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../junitparams/package-summary.html">junitparams</A> with type parameters of type <A HREF="../../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&lt;<A HREF="../../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A>,<A HREF="../../junitparams/ParameterisedTestMethodRunner.html" title="class in junitparams">ParameterisedTestMethodRunner</A>&gt;</CODE></FONT></TD>
+<TD><CODE><B>ParameterisedTestClassRunner.</B><B><A HREF="../../junitparams/ParameterisedTestClassRunner.html#parameterisedMethods">parameterisedMethods</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&lt;org.junit.runners.model.FrameworkMethod,<A HREF="../../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A>&gt;</CODE></FONT></TD>
+<TD><CODE><B>ParameterisedTestClassRunner.</B><B><A HREF="../../junitparams/ParameterisedTestClassRunner.html#testMethods">testMethods</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&lt;<A HREF="../../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A>&gt;</CODE></FONT></TD>
+<TD><CODE><B>ParameterisedTestClassRunner.</B><B><A HREF="../../junitparams/ParameterisedTestClassRunner.html#testMethodsList">testMethodsList</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../junitparams/package-summary.html">junitparams</A> that return <A HREF="../../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A></CODE></FONT></TD>
+<TD><CODE><B>ParameterisedTestClassRunner.</B><B><A HREF="../../junitparams/ParameterisedTestClassRunner.html#testMethodFor(org.junit.runners.model.FrameworkMethod)">testMethodFor</A></B>(org.junit.runners.model.FrameworkMethod&nbsp;method)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a cached TestMethod object related to the given FrameworkMethod.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../junitparams/package-summary.html">junitparams</A> that return types with arguments of type <A HREF="../../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&lt;<A HREF="../../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A>&gt;</CODE></FONT></TD>
+<TD><CODE><B>TestMethod.</B><B><A HREF="../../junitparams/TestMethod.html#listFrom(java.util.List, org.junit.runners.model.TestClass)">listFrom</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&lt;org.junit.runners.model.FrameworkMethod&gt;&nbsp;annotatedMethods,
+ org.junit.runners.model.TestClass&nbsp;testClass)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../junitparams/package-summary.html">junitparams</A> with parameters of type <A HREF="../../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>ParameterisedTestClassRunner.</B><B><A HREF="../../junitparams/ParameterisedTestClassRunner.html#runParameterisedTest(junitparams.TestMethod, org.junit.runners.model.Statement, org.junit.runner.notification.RunNotifier)">runParameterisedTest</A></B>(<A HREF="../../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A>&nbsp;method,
+ org.junit.runners.model.Statement&nbsp;methodInvoker,
+ org.junit.runner.notification.RunNotifier&nbsp;notifier)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Executes parameterised method.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B>ParameterisedTestClassRunner.</B><B><A HREF="../../junitparams/ParameterisedTestClassRunner.html#shouldRun(junitparams.TestMethod)">shouldRun</A></B>(<A HREF="../../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A>&nbsp;testMethod)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tells if method should be run by this runner.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../junitparams/package-summary.html">junitparams</A> with parameters of type <A HREF="../../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../junitparams/ParameterisedTestMethodRunner.html#ParameterisedTestMethodRunner(junitparams.TestMethod)">ParameterisedTestMethodRunner</A></B>(<A HREF="../../junitparams/TestMethod.html" title="class in junitparams">TestMethod</A>&nbsp;testMethod)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../junitparams/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../junitparams/TestMethod.html" title="class in junitparams"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?junitparams//class-useTestMethod.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="TestMethod.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &#169; 2012 <a href="http://pragmatists.pl">Pragmatists</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/apidocs/junitparams/converters/ConvertParam.html b/apidocs/junitparams/converters/ConvertParam.html
new file mode 100644
index 0000000..4b55080
--- /dev/null
+++ b/apidocs/junitparams/converters/ConvertParam.html
@@ -0,0 +1,262 @@
+<!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>ConvertParam (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="ConvertParam (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><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ConvertParam.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../junitparams/converters/ConversionFailedException.html" title="class in junitparams.converters"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../junitparams/converters/ParamConverter.html" title="interface in junitparams.converters"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/converters/ConvertParam.html" target="_top">Frames</a></li>
+<li><a href="ConvertParam.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>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#annotation.type.required.element.summary">Required</a>&nbsp;|&nbsp;</li>
+<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#annotation.type.element.detail">Element</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">junitparams.converters</div>
+<h2 title="Annotation Type ConvertParam" class="title">Annotation Type ConvertParam</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/annotation/Retention.html?is-external=true" title="class or interface in java.lang.annotation">@Retention</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/annotation/Retention.html?is-external=true#value--" title="class or interface in java.lang.annotation">value</a>=<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/annotation/RetentionPolicy.html?is-external=true#RUNTIME" title="class or interface in java.lang.annotation">RUNTIME</a>)
+public @interface <span class="memberNameLabel">ConvertParam</span></pre>
+<div class="block">Defines a converter which should be used to convert a parameter to expected
+ type.</div>
+<dl>
+<dt><span class="simpleTagLabel">Author:</span></dt>
+<dd>Pawel Lipinski</dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ANNOTATION TYPE REQUIRED MEMBER SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="annotation.type.required.element.summary">
+<!-- -->
+</a>
+<h3>Required Element Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Required Element Summary table, listing required elements, and an explanation">
+<caption><span>Required Elements</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Required Element and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../junitparams/converters/ParamConverter.html" title="interface in junitparams.converters">ParamConverter</a>&lt;?&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/converters/ConvertParam.html#value--">value</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="annotation.type.optional.element.summary">
+<!-- -->
+</a>
+<h3>Optional Element Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Optional Element Summary table, listing optional elements, and an explanation">
+<caption><span>Optional Elements</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Optional Element and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/converters/ConvertParam.html#options--">options</a></span></code>
+<div class="block">Options / settings to be used by the converter class</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="annotation.type.element.detail">
+<!-- -->
+</a>
+<h3>Element Detail</h3>
+<a name="value--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>value</h4>
+<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../junitparams/converters/ParamConverter.html" title="interface in junitparams.converters">ParamConverter</a>&lt;?&gt;&gt;&nbsp;value</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="options--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>options</h4>
+<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;options</pre>
+<div class="block">Options / settings to be used by the converter class</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+</dl>
+<dl>
+<dt>Default:</dt>
+<dd>""</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= 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><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ConvertParam.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../junitparams/converters/ConversionFailedException.html" title="class in junitparams.converters"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../junitparams/converters/ParamConverter.html" title="interface in junitparams.converters"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/converters/ConvertParam.html" target="_top">Frames</a></li>
+<li><a href="ConvertParam.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>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#annotation.type.required.element.summary">Required</a>&nbsp;|&nbsp;</li>
+<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#annotation.type.element.detail">Element</a></li>
+</ul>
+</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>
diff --git a/apidocs/junitparams/converters/ParamConverter.html b/apidocs/junitparams/converters/ParamConverter.html
new file mode 100644
index 0000000..fa74d35
--- /dev/null
+++ b/apidocs/junitparams/converters/ParamConverter.html
@@ -0,0 +1,238 @@
+<!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>ParamConverter (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="ParamConverter (JUnitParams 1.0.3-SNAPSHOT API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</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><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ParamConverter.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../junitparams/converters/ConvertParam.html" title="annotation in junitparams.converters"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/converters/ParamConverter.html" target="_top">Frames</a></li>
+<li><a href="ParamConverter.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>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">junitparams.converters</div>
+<h2 title="Interface ParamConverter" class="title">Interface ParamConverter&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">ParamConverter&lt;T&gt;</span></pre>
+<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.
+
+ &lt;T&gt; is the expected parameter type.</div>
+<dl>
+<dt><span class="simpleTagLabel">Author:</span></dt>
+<dd>Pawel Lipinski</dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../junitparams/converters/ParamConverter.html" title="type parameter in ParamConverter">T</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/converters/ParamConverter.html#convert-java.lang.Object-java.lang.String-">convert</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;param,
+ <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;options)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="convert-java.lang.Object-java.lang.String-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>convert</h4>
+<pre><a href="../../junitparams/converters/ParamConverter.html" title="type parameter in ParamConverter">T</a>&nbsp;convert(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;param,
+ <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;options)
+ throws <a href="../../junitparams/converters/ConversionFailedException.html" title="class in junitparams.converters">ConversionFailedException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../junitparams/converters/ConversionFailedException.html" title="class in junitparams.converters">ConversionFailedException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= 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><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ParamConverter.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../junitparams/converters/ConvertParam.html" title="annotation in junitparams.converters"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/converters/ParamConverter.html" target="_top">Frames</a></li>
+<li><a href="ParamConverter.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>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</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>
diff --git a/apidocs/junitparams/converters/class-use/ConvertParam.html b/apidocs/junitparams/converters/class-use/ConvertParam.html
new file mode 100644
index 0000000..dc311b6
--- /dev/null
+++ b/apidocs/junitparams/converters/class-use/ConvertParam.html
@@ -0,0 +1,126 @@
+<!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>Uses of Class junitparams.converters.ConvertParam (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="Uses of Class junitparams.converters.ConvertParam (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><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../junitparams/converters/ConvertParam.html" title="annotation in junitparams.converters">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></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?junitparams/converters/class-use/ConvertParam.html" target="_top">Frames</a></li>
+<li><a href="ConvertParam.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="header">
+<h2 title="Uses of Class junitparams.converters.ConvertParam" class="title">Uses of Class<br>junitparams.converters.ConvertParam</h2>
+</div>
+<div class="classUseContainer">No usage of junitparams.converters.ConvertParam</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><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../junitparams/converters/ConvertParam.html" title="annotation in junitparams.converters">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></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?junitparams/converters/class-use/ConvertParam.html" target="_top">Frames</a></li>
+<li><a href="ConvertParam.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>
diff --git a/apidocs/junitparams/converters/class-use/ParamConverter.html b/apidocs/junitparams/converters/class-use/ParamConverter.html
new file mode 100644
index 0000000..388d943
--- /dev/null
+++ b/apidocs/junitparams/converters/class-use/ParamConverter.html
@@ -0,0 +1,126 @@
+<!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>Uses of Interface junitparams.converters.ParamConverter (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="Uses of Interface junitparams.converters.ParamConverter (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><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../junitparams/converters/ParamConverter.html" title="interface in junitparams.converters">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></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?junitparams/converters/class-use/ParamConverter.html" target="_top">Frames</a></li>
+<li><a href="ParamConverter.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="header">
+<h2 title="Uses of Interface junitparams.converters.ParamConverter" class="title">Uses of Interface<br>junitparams.converters.ParamConverter</h2>
+</div>
+<div class="classUseContainer">No usage of junitparams.converters.ParamConverter</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><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../junitparams/converters/ParamConverter.html" title="interface in junitparams.converters">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></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?junitparams/converters/class-use/ParamConverter.html" target="_top">Frames</a></li>
+<li><a href="ParamConverter.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>
diff --git a/apidocs/junitparams/converters/package-frame.html b/apidocs/junitparams/converters/package-frame.html
new file mode 100644
index 0000000..5ddd0b0
--- /dev/null
+++ b/apidocs/junitparams/converters/package-frame.html
@@ -0,0 +1,29 @@
+<!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>junitparams.converters (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>
+<h1 class="bar"><a href="../../junitparams/converters/package-summary.html" target="classFrame">junitparams.converters</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="ParamConverter.html" title="interface in junitparams.converters" target="classFrame"><span class="interfaceName">ParamConverter</span></a></li>
+</ul>
+<h2 title="Exceptions">Exceptions</h2>
+<ul title="Exceptions">
+<li><a href="ConversionFailedException.html" title="class in junitparams.converters" target="classFrame">ConversionFailedException</a></li>
+</ul>
+<h2 title="Annotation Types">Annotation Types</h2>
+<ul title="Annotation Types">
+<li><a href="ConvertParam.html" title="annotation in junitparams.converters" target="classFrame">ConvertParam</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/apidocs/junitparams/converters/package-summary.html b/apidocs/junitparams/converters/package-summary.html
new file mode 100644
index 0000000..90d86f7
--- /dev/null
+++ b/apidocs/junitparams/converters/package-summary.html
@@ -0,0 +1,180 @@
+<!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>junitparams.converters (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="junitparams.converters (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 class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../junitparams/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../junitparams/internal/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/converters/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.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="header">
+<h1 title="Package" class="title">Package&nbsp;junitparams.converters</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../junitparams/converters/ParamConverter.html" title="interface in junitparams.converters">ParamConverter</a>&lt;T&gt;</td>
+<td class="colLast">
+<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>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Exception Summary table, listing exceptions, and an explanation">
+<caption><span>Exception Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Exception</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../junitparams/converters/ConversionFailedException.html" title="class in junitparams.converters">ConversionFailedException</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Annotation Types Summary table, listing annotation types, and an explanation">
+<caption><span>Annotation Types Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Annotation Type</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../junitparams/converters/ConvertParam.html" title="annotation in junitparams.converters">ConvertParam</a></td>
+<td class="colLast">
+<div class="block">Defines a converter which should be used to convert a parameter to expected
+ type.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</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 class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../junitparams/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../junitparams/internal/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/converters/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.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>
diff --git a/apidocs/junitparams/converters/package-tree.html b/apidocs/junitparams/converters/package-tree.html
new file mode 100644
index 0000000..dcd9125
--- /dev/null
+++ b/apidocs/junitparams/converters/package-tree.html
@@ -0,0 +1,155 @@
+<!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>junitparams.converters Class Hierarchy (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="junitparams.converters Class Hierarchy (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><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../junitparams/package-tree.html">Prev</a></li>
+<li><a href="../../junitparams/internal/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/converters/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.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="header">
+<h1 class="title">Hierarchy For Package junitparams.converters</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Throwable</span></a> (implements java.io.<a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Exception</span></a>
+<ul>
+<li type="circle">junitparams.converters.<a href="../../junitparams/converters/ConversionFailedException.html" title="class in junitparams.converters"><span class="typeNameLink">ConversionFailedException</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">junitparams.converters.<a href="../../junitparams/converters/ParamConverter.html" title="interface in junitparams.converters"><span class="typeNameLink">ParamConverter</span></a>&lt;T&gt;</li>
+</ul>
+<h2 title="Annotation Type Hierarchy">Annotation Type Hierarchy</h2>
+<ul>
+<li type="circle">junitparams.converters.<a href="../../junitparams/converters/ConvertParam.html" title="annotation in junitparams.converters"><span class="typeNameLink">ConvertParam</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
+</ul>
+</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><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../junitparams/package-tree.html">Prev</a></li>
+<li><a href="../../junitparams/internal/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/converters/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.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>
diff --git a/apidocs/junitparams/converters/package-use.html b/apidocs/junitparams/converters/package-use.html
new file mode 100644
index 0000000..ae78131
--- /dev/null
+++ b/apidocs/junitparams/converters/package-use.html
@@ -0,0 +1,159 @@
+<!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>Uses of Package junitparams.converters (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="Uses of Package junitparams.converters (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><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></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?junitparams/converters/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.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="header">
+<h1 title="Uses of Package junitparams.converters" class="title">Uses of Package<br>junitparams.converters</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../junitparams/converters/package-summary.html">junitparams.converters</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#junitparams.converters">junitparams.converters</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="junitparams.converters">
+<!-- -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../junitparams/converters/package-summary.html">junitparams.converters</a> used by <a href="../../junitparams/converters/package-summary.html">junitparams.converters</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../junitparams/converters/class-use/ConversionFailedException.html#junitparams.converters">ConversionFailedException</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</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><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></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?junitparams/converters/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.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>
diff --git a/apidocs/junitparams/internal/IdentityMapper.html b/apidocs/junitparams/internal/IdentityMapper.html
new file mode 100644
index 0000000..a66cd18
--- /dev/null
+++ b/apidocs/junitparams/internal/IdentityMapper.html
@@ -0,0 +1,287 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_31) on Tue May 15 23:03:16 FET 2012 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+IdentityMapper (JUnitParams 0.5.1-SNAPSHOT API)
+</TITLE>
+
+<META NAME="date" CONTENT="2012-05-15">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="IdentityMapper (JUnitParams 0.5.1-SNAPSHOT API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/IdentityMapper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../junitparams/internal/InvokeParameterisedMethod.html" title="class in junitparams.internal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?junitparams/internal/IdentityMapper.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="IdentityMapper.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+junitparams.internal</FONT>
+<BR>
+Class IdentityMapper</H2>
+<PRE>
+<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../resources/inherit.gif" ALT="extended by "><B>junitparams.mappers.IdentityMapper</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../junitparams/DataMapper.html" title="interface in junitparams">DataMapper</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>IdentityMapper</B><DT>extends <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../junitparams/DataMapper.html" title="interface in junitparams">DataMapper</A></DL>
+</PRE>
+
+<P>
+A mapper, that maps contents of a file to a set of parameters for test
+ methods. Basically a CSV with no header and ordering of columns exactly like
+ the one in the test methods.
+
+ It uses the logic from @Parameters({}) for parsing lines of file, so be sure
+ the columns in the file match exactly the ordering of arguments in the test
+ method.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>Pawel Lipinski</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../junitparams/internal/IdentityMapper.html#IdentityMapper()">IdentityMapper</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../junitparams/internal/IdentityMapper.html#map(java.io.Reader)">map</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io">Reader</A>&nbsp;reader)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maps file contents to parameters.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="IdentityMapper()"><!-- --></A><H3>
+IdentityMapper</H3>
+<PRE>
+public <B>IdentityMapper</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="map(java.io.Reader)"><!-- --></A><H3>
+map</H3>
+<PRE>
+public <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[] <B>map</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io">Reader</A>&nbsp;reader)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../junitparams/DataMapper.html#map(java.io.Reader)">DataMapper</A></CODE></B></DD>
+<DD>Maps file contents to parameters. In your implementation read the data
+ from the reader. The reader is closed in the framework, so just read it
+ :)
+
+ While reading transform the data into Object[][], where external
+ dimension are different parameter sets, and internal dimension is the set
+ of params per single test call
+
+ You can optionally return Object[] with Strings inside, but each String
+ must be a string in the same format as what you would normally pass to
+ &#064;Parameters({})
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../junitparams/DataMapper.html#map(java.io.Reader)">map</A></CODE> in interface <CODE><A HREF="../../junitparams/DataMapper.html" title="interface in junitparams">DataMapper</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an array with all parameter sets</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/IdentityMapper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../junitparams/internal/InvokeParameterisedMethod.html" title="class in junitparams.internal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?junitparams/internal/IdentityMapper.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="IdentityMapper.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &#169; 2012 <a href="http://pragmatists.pl">Pragmatists</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/apidocs/junitparams/internal/InvokeParameterisedMethod.html b/apidocs/junitparams/internal/InvokeParameterisedMethod.html
new file mode 100644
index 0000000..54753a6
--- /dev/null
+++ b/apidocs/junitparams/internal/InvokeParameterisedMethod.html
@@ -0,0 +1,309 @@
+<!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>InvokeParameterisedMethod (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="InvokeParameterisedMethod (JUnitParams 1.0.3-SNAPSHOT API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</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><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/InvokeParameterisedMethod.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../junitparams/internal/ParameterisedTestClassRunner.html" title="class in junitparams.internal"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/internal/InvokeParameterisedMethod.html" target="_top">Frames</a></li>
+<li><a href="InvokeParameterisedMethod.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>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">junitparams.internal</div>
+<h2 title="Class InvokeParameterisedMethod" class="title">Class InvokeParameterisedMethod</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.junit.runners.model.Statement</li>
+<li>
+<ul class="inheritance">
+<li>junitparams.internal.InvokeParameterisedMethod</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">InvokeParameterisedMethod</span>
+extends org.junit.runners.model.Statement</pre>
+<div class="block">JUnit invoker for parameterised test methods</div>
+<dl>
+<dt><span class="simpleTagLabel">Author:</span></dt>
+<dd>Pawel Lipinski</dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../junitparams/internal/InvokeParameterisedMethod.html#InvokeParameterisedMethod-org.junit.runners.model.FrameworkMethod-java.lang.Object-java.lang.Object-int-">InvokeParameterisedMethod</a></span>(org.junit.runners.model.FrameworkMethod&nbsp;testMethod,
+ <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;testClass,
+ <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;params,
+ int&nbsp;paramSetIdx)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/internal/InvokeParameterisedMethod.html#evaluate--">evaluate</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/internal/InvokeParameterisedMethod.html#getParamsAsString--">getParamsAsString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="InvokeParameterisedMethod-org.junit.runners.model.FrameworkMethod-java.lang.Object-java.lang.Object-int-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>InvokeParameterisedMethod</h4>
+<pre>public&nbsp;InvokeParameterisedMethod(org.junit.runners.model.FrameworkMethod&nbsp;testMethod,
+ <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;testClass,
+ <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;params,
+ int&nbsp;paramSetIdx)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="getParamsAsString--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getParamsAsString</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getParamsAsString()</pre>
+</li>
+</ul>
+<a name="evaluate--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>evaluate</h4>
+<pre>public&nbsp;void&nbsp;evaluate()
+ throws <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>evaluate</code>&nbsp;in class&nbsp;<code>org.junit.runners.model.Statement</code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= 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><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/InvokeParameterisedMethod.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../junitparams/internal/ParameterisedTestClassRunner.html" title="class in junitparams.internal"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/internal/InvokeParameterisedMethod.html" target="_top">Frames</a></li>
+<li><a href="InvokeParameterisedMethod.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>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</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>
diff --git a/apidocs/junitparams/internal/ParameterisedTestClassRunner.html b/apidocs/junitparams/internal/ParameterisedTestClassRunner.html
new file mode 100644
index 0000000..99f1992
--- /dev/null
+++ b/apidocs/junitparams/internal/ParameterisedTestClassRunner.html
@@ -0,0 +1,512 @@
+<!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>ParameterisedTestClassRunner (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="ParameterisedTestClassRunner (JUnitParams 1.0.3-SNAPSHOT API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</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><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ParameterisedTestClassRunner.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../junitparams/internal/InvokeParameterisedMethod.html" title="class in junitparams.internal"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../junitparams/internal/ParameterisedTestMethodRunner.html" title="class in junitparams.internal"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/internal/ParameterisedTestClassRunner.html" target="_top">Frames</a></li>
+<li><a href="ParameterisedTestClassRunner.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>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">junitparams.internal</div>
+<h2 title="Class ParameterisedTestClassRunner" class="title">Class ParameterisedTestClassRunner</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>junitparams.internal.ParameterisedTestClassRunner</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ParameterisedTestClassRunner</span>
+extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Testclass-level functionalities to handle parameters from a JUnit runner
+ class.</div>
+<dl>
+<dt><span class="simpleTagLabel">Author:</span></dt>
+<dd>Pawel Lipinski</dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a>,<a href="../../junitparams/internal/ParameterisedTestMethodRunner.html" title="class in junitparams.internal">ParameterisedTestMethodRunner</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/internal/ParameterisedTestClassRunner.html#parameterisedMethods">parameterisedMethods</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.junit.runners.model.FrameworkMethod,<a href="../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/internal/ParameterisedTestClassRunner.html#testMethods">testMethods</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/internal/ParameterisedTestClassRunner.html#testMethodsList">testMethodsList</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../junitparams/internal/ParameterisedTestClassRunner.html#ParameterisedTestClassRunner-org.junit.runners.model.TestClass-">ParameterisedTestClassRunner</a></span>(org.junit.runners.model.TestClass&nbsp;testClass)</code>
+<div class="block">Creates a runner for a given test class.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.junit.runners.model.FrameworkMethod&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/internal/ParameterisedTestClassRunner.html#computeFrameworkMethods--">computeFrameworkMethods</a></span>()</code>
+<div class="block">Returns a list of <code>FrameworkMethod</code>s.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/internal/ParameterisedTestClassRunner.html#computeTestMethods-org.junit.runners.model.TestClass-">computeTestMethods</a></span>(org.junit.runners.model.TestClass&nbsp;testClass)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>org.junit.runner.Description</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/internal/ParameterisedTestClassRunner.html#describeParameterisedMethod-org.junit.runners.model.FrameworkMethod-">describeParameterisedMethod</a></span>(org.junit.runners.model.FrameworkMethod&nbsp;method)</code>
+<div class="block">Returns description of a parameterised method.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>org.junit.runners.model.Statement</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/internal/ParameterisedTestClassRunner.html#parameterisedMethodInvoker-org.junit.runners.model.FrameworkMethod-java.lang.Object-">parameterisedMethodInvoker</a></span>(org.junit.runners.model.FrameworkMethod&nbsp;method,
+ <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;testClass)</code>
+<div class="block">Returns a InvokeParameterisedMethod for parameterised methods and null
+ for nonparameterised</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.junit.runners.model.FrameworkMethod&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/internal/ParameterisedTestClassRunner.html#returnListOfMethods--">returnListOfMethods</a></span>()</code>
+<div class="block">Returns a list of <code>FrameworkMethod</code>s - once per method, like
+ there were no parameters.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/internal/ParameterisedTestClassRunner.html#runParameterisedTest-junitparams.internal.TestMethod-org.junit.runners.model.Statement-org.junit.runner.notification.RunNotifier-">runParameterisedTest</a></span>(<a href="../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a>&nbsp;method,
+ org.junit.runners.model.Statement&nbsp;methodInvoker,
+ org.junit.runner.notification.RunNotifier&nbsp;notifier)</code>
+<div class="block">Executes parameterised method.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/internal/ParameterisedTestClassRunner.html#shouldRun-junitparams.internal.TestMethod-">shouldRun</a></span>(<a href="../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a>&nbsp;testMethod)</code>
+<div class="block">Tells if method should be run by this runner.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/internal/ParameterisedTestClassRunner.html#testMethodFor-org.junit.runners.model.FrameworkMethod-">testMethodFor</a></span>(org.junit.runners.model.FrameworkMethod&nbsp;method)</code>
+<div class="block">Returns a cached TestMethod object related to the given FrameworkMethod.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="parameterisedMethods">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parameterisedMethods</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a>,<a href="../../junitparams/internal/ParameterisedTestMethodRunner.html" title="class in junitparams.internal">ParameterisedTestMethodRunner</a>&gt; parameterisedMethods</pre>
+</li>
+</ul>
+<a name="testMethods">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testMethods</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.junit.runners.model.FrameworkMethod,<a href="../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a>&gt; testMethods</pre>
+</li>
+</ul>
+<a name="testMethodsList">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>testMethodsList</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a>&gt; testMethodsList</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ParameterisedTestClassRunner-org.junit.runners.model.TestClass-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ParameterisedTestClassRunner</h4>
+<pre>public&nbsp;ParameterisedTestClassRunner(org.junit.runners.model.TestClass&nbsp;testClass)</pre>
+<div class="block">Creates a runner for a given test class. Computes all the test methods
+ that are annotated as tests. Retrieves and caches all parameter values.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>testClass</code> - </dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="computeTestMethods-org.junit.runners.model.TestClass-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>computeTestMethods</h4>
+<pre>protected&nbsp;void&nbsp;computeTestMethods(org.junit.runners.model.TestClass&nbsp;testClass)</pre>
+</li>
+</ul>
+<a name="computeFrameworkMethods--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>computeFrameworkMethods</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.junit.runners.model.FrameworkMethod&gt;&nbsp;computeFrameworkMethods()</pre>
+<div class="block">Returns a list of <code>FrameworkMethod</code>s. Handles both
+ parameterised methods (counts them as many times as many paramsets they
+ have) and nonparameterised methods (just counts them once).</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a list of FrameworkMethod objects</dd>
+</dl>
+</li>
+</ul>
+<a name="returnListOfMethods--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>returnListOfMethods</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.junit.runners.model.FrameworkMethod&gt;&nbsp;returnListOfMethods()</pre>
+<div class="block">Returns a list of <code>FrameworkMethod</code>s - once per method, like
+ there were no parameters.
+ For JUnit to build names for IDE.</div>
+</li>
+</ul>
+<a name="parameterisedMethodInvoker-org.junit.runners.model.FrameworkMethod-java.lang.Object-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parameterisedMethodInvoker</h4>
+<pre>public&nbsp;org.junit.runners.model.Statement&nbsp;parameterisedMethodInvoker(org.junit.runners.model.FrameworkMethod&nbsp;method,
+ <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;testClass)</pre>
+<div class="block">Returns a InvokeParameterisedMethod for parameterised methods and null
+ for nonparameterised</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>method</code> - Test method</dd>
+<dd><code>testClass</code> - </dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a Statement with the invoker for the parameterised method</dd>
+</dl>
+</li>
+</ul>
+<a name="shouldRun-junitparams.internal.TestMethod-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>shouldRun</h4>
+<pre>public&nbsp;boolean&nbsp;shouldRun(<a href="../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a>&nbsp;testMethod)</pre>
+<div class="block">Tells if method should be run by this runner.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>testMethod</code> - </dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true, iff testMethod should be run by this runner.</dd>
+</dl>
+</li>
+</ul>
+<a name="runParameterisedTest-junitparams.internal.TestMethod-org.junit.runners.model.Statement-org.junit.runner.notification.RunNotifier-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>runParameterisedTest</h4>
+<pre>public&nbsp;void&nbsp;runParameterisedTest(<a href="../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a>&nbsp;method,
+ org.junit.runners.model.Statement&nbsp;methodInvoker,
+ org.junit.runner.notification.RunNotifier&nbsp;notifier)</pre>
+<div class="block">Executes parameterised method.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>method</code> - </dd>
+<dd><code>methodInvoker</code> - </dd>
+<dd><code>notifier</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="describeParameterisedMethod-org.junit.runners.model.FrameworkMethod-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>describeParameterisedMethod</h4>
+<pre>public&nbsp;org.junit.runner.Description&nbsp;describeParameterisedMethod(org.junit.runners.model.FrameworkMethod&nbsp;method)</pre>
+<div class="block">Returns description of a parameterised method.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>method</code> - TODO</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Description of a method or null if it's not parameterised.</dd>
+</dl>
+</li>
+</ul>
+<a name="testMethodFor-org.junit.runners.model.FrameworkMethod-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>testMethodFor</h4>
+<pre>public&nbsp;<a href="../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a>&nbsp;testMethodFor(org.junit.runners.model.FrameworkMethod&nbsp;method)</pre>
+<div class="block">Returns a cached TestMethod object related to the given FrameworkMethod.
+ This object has all the params already retrieved, so use this one and not
+ TestMethod's constructor if you want to have everything retrieved once
+ and cached.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>method</code> - </dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a cached TestMethod instance</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= 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><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ParameterisedTestClassRunner.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../junitparams/internal/InvokeParameterisedMethod.html" title="class in junitparams.internal"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../junitparams/internal/ParameterisedTestMethodRunner.html" title="class in junitparams.internal"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/internal/ParameterisedTestClassRunner.html" target="_top">Frames</a></li>
+<li><a href="ParameterisedTestClassRunner.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>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</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>
diff --git a/apidocs/junitparams/internal/ParameterisedTestMethodRunner.html b/apidocs/junitparams/internal/ParameterisedTestMethodRunner.html
new file mode 100644
index 0000000..b66c108
--- /dev/null
+++ b/apidocs/junitparams/internal/ParameterisedTestMethodRunner.html
@@ -0,0 +1,327 @@
+<!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>ParameterisedTestMethodRunner (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="ParameterisedTestMethodRunner (JUnitParams 1.0.3-SNAPSHOT API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</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><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ParameterisedTestMethodRunner.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../junitparams/internal/ParameterisedTestClassRunner.html" title="class in junitparams.internal"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../junitparams/internal/TestMethod.html" title="class in junitparams.internal"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/internal/ParameterisedTestMethodRunner.html" target="_top">Frames</a></li>
+<li><a href="ParameterisedTestMethodRunner.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>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">junitparams.internal</div>
+<h2 title="Class ParameterisedTestMethodRunner" class="title">Class ParameterisedTestMethodRunner</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>junitparams.internal.ParameterisedTestMethodRunner</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ParameterisedTestMethodRunner</span>
+extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Testmethod-level functionalities for parameterised tests</div>
+<dl>
+<dt><span class="simpleTagLabel">Author:</span></dt>
+<dd>Pawel Lipinski</dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/internal/ParameterisedTestMethodRunner.html#method">method</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../junitparams/internal/ParameterisedTestMethodRunner.html#ParameterisedTestMethodRunner-junitparams.internal.TestMethod-">ParameterisedTestMethodRunner</a></span>(<a href="../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a>&nbsp;testMethod)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/internal/ParameterisedTestMethodRunner.html#count--">count</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/internal/ParameterisedTestMethodRunner.html#nextCount--">nextCount</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="method">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>method</h4>
+<pre>public final&nbsp;<a href="../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a> method</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ParameterisedTestMethodRunner-junitparams.internal.TestMethod-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ParameterisedTestMethodRunner</h4>
+<pre>public&nbsp;ParameterisedTestMethodRunner(<a href="../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a>&nbsp;testMethod)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="nextCount--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>nextCount</h4>
+<pre>public&nbsp;int&nbsp;nextCount()</pre>
+</li>
+</ul>
+<a name="count--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>count</h4>
+<pre>public&nbsp;int&nbsp;count()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= 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><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ParameterisedTestMethodRunner.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../junitparams/internal/ParameterisedTestClassRunner.html" title="class in junitparams.internal"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../junitparams/internal/TestMethod.html" title="class in junitparams.internal"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/internal/ParameterisedTestMethodRunner.html" target="_top">Frames</a></li>
+<li><a href="ParameterisedTestMethodRunner.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>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</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>
diff --git a/apidocs/junitparams/internal/TestMethod.html b/apidocs/junitparams/internal/TestMethod.html
new file mode 100644
index 0000000..40c0b1f
--- /dev/null
+++ b/apidocs/junitparams/internal/TestMethod.html
@@ -0,0 +1,407 @@
+<!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>TestMethod (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="TestMethod (JUnitParams 1.0.3-SNAPSHOT API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":9,"i8":10,"i9":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</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><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TestMethod.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../junitparams/internal/ParameterisedTestMethodRunner.html" title="class in junitparams.internal"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../junitparams/internal/Utils.html" title="class in junitparams.internal"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/internal/TestMethod.html" target="_top">Frames</a></li>
+<li><a href="TestMethod.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>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">junitparams.internal</div>
+<h2 title="Class TestMethod" class="title">Class TestMethod</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>junitparams.internal.TestMethod</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">TestMethod</span>
+extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">A wrapper for a test method</div>
+<dl>
+<dt><span class="simpleTagLabel">Author:</span></dt>
+<dd>Pawel Lipinski</dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../junitparams/internal/TestMethod.html#TestMethod-org.junit.runners.model.FrameworkMethod-org.junit.runners.model.TestClass-">TestMethod</a></span>(org.junit.runners.model.FrameworkMethod&nbsp;method,
+ org.junit.runners.model.TestClass&nbsp;testClass)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/internal/TestMethod.html#annotations--">annotations</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/internal/TestMethod.html#equals-java.lang.Object-">equals</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>org.junit.runners.model.FrameworkMethod</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/internal/TestMethod.html#frameworkMethod--">frameworkMethod</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/internal/TestMethod.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/internal/TestMethod.html#isIgnored--">isIgnored</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/internal/TestMethod.html#isNotIgnored--">isNotIgnored</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/internal/TestMethod.html#isParameterised--">isParameterised</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/internal/TestMethod.html#listFrom-java.util.List-org.junit.runners.model.TestClass-">listFrom</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.junit.runners.model.FrameworkMethod&gt;&nbsp;annotatedMethods,
+ org.junit.runners.model.TestClass&nbsp;testClass)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/internal/TestMethod.html#name--">name</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/internal/TestMethod.html#parametersSets--">parametersSets</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="TestMethod-org.junit.runners.model.FrameworkMethod-org.junit.runners.model.TestClass-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TestMethod</h4>
+<pre>public&nbsp;TestMethod(org.junit.runners.model.FrameworkMethod&nbsp;method,
+ org.junit.runners.model.TestClass&nbsp;testClass)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="name--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>name</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name()</pre>
+</li>
+</ul>
+<a name="listFrom-java.util.List-org.junit.runners.model.TestClass-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>listFrom</h4>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a>&gt;&nbsp;listFrom(<a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.junit.runners.model.FrameworkMethod&gt;&nbsp;annotatedMethods,
+ org.junit.runners.model.TestClass&nbsp;testClass)</pre>
+</li>
+</ul>
+<a name="hashCode--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;hashCode()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;equals(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="isIgnored--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isIgnored</h4>
+<pre>public&nbsp;boolean&nbsp;isIgnored()</pre>
+</li>
+</ul>
+<a name="isNotIgnored--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isNotIgnored</h4>
+<pre>public&nbsp;boolean&nbsp;isNotIgnored()</pre>
+</li>
+</ul>
+<a name="annotations--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>annotations</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>[]&nbsp;annotations()</pre>
+</li>
+</ul>
+<a name="parametersSets--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parametersSets</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;parametersSets()</pre>
+</li>
+</ul>
+<a name="isParameterised--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isParameterised</h4>
+<pre>public&nbsp;boolean&nbsp;isParameterised()</pre>
+</li>
+</ul>
+<a name="frameworkMethod--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>frameworkMethod</h4>
+<pre>public&nbsp;org.junit.runners.model.FrameworkMethod&nbsp;frameworkMethod()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= 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><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TestMethod.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../junitparams/internal/ParameterisedTestMethodRunner.html" title="class in junitparams.internal"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../junitparams/internal/Utils.html" title="class in junitparams.internal"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/internal/TestMethod.html" target="_top">Frames</a></li>
+<li><a href="TestMethod.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>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</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>
diff --git a/apidocs/junitparams/internal/Utils.html b/apidocs/junitparams/internal/Utils.html
new file mode 100644
index 0000000..96b60c7
--- /dev/null
+++ b/apidocs/junitparams/internal/Utils.html
@@ -0,0 +1,320 @@
+<!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>Utils (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="Utils (JUnitParams 1.0.3-SNAPSHOT API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</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><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Utils.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../junitparams/internal/TestMethod.html" title="class in junitparams.internal"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/internal/Utils.html" target="_top">Frames</a></li>
+<li><a href="Utils.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>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">junitparams.internal</div>
+<h2 title="Class Utils" class="title">Class Utils</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>junitparams.internal.Utils</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Utils</span>
+extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Some String utils to handle parameterised tests' results.</div>
+<dl>
+<dt><span class="simpleTagLabel">Author:</span></dt>
+<dd>Pawel Lipinski</dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!-- -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/internal/Utils.html#REGEX_ALL_NEWLINES">REGEX_ALL_NEWLINES</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../junitparams/internal/Utils.html#Utils--">Utils</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/internal/Utils.html#stringify-java.lang.Object-int-">stringify</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;paramSet,
+ int&nbsp;paramIdx)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="REGEX_ALL_NEWLINES">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>REGEX_ALL_NEWLINES</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> REGEX_ALL_NEWLINES</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../constant-values.html#junitparams.internal.Utils.REGEX_ALL_NEWLINES">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Utils--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Utils</h4>
+<pre>public&nbsp;Utils()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="stringify-java.lang.Object-int-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>stringify</h4>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;stringify(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;paramSet,
+ int&nbsp;paramIdx)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= 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><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Utils.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../junitparams/internal/TestMethod.html" title="class in junitparams.internal"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/internal/Utils.html" target="_top">Frames</a></li>
+<li><a href="Utils.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>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</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>
diff --git a/apidocs/junitparams/internal/class-use/IdentityMapper.html b/apidocs/junitparams/internal/class-use/IdentityMapper.html
new file mode 100644
index 0000000..c94a73a
--- /dev/null
+++ b/apidocs/junitparams/internal/class-use/IdentityMapper.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_31) on Tue May 15 23:03:17 FET 2012 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+ Uses of Class junitparams.mappers.IdentityMapper (JUnitParams 0.5.1-SNAPSHOT API)
+</TITLE>
+
+<META NAME="date" CONTENT="2012-05-15">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class junitparams.internal.IdentityMapper (JUnitParams 0.5.1-SNAPSHOT API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../junitparams/internal/IdentityMapper.html" title="class in junitparams.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?junitparams/internal//class-useIdentityMapper.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="IdentityMapper.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>junitparams.mappers.IdentityMapper</B></H2>
+</CENTER>
+No usage of junitparams.mappers.IdentityMapper
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../junitparams/internal/IdentityMapper.html" title="class in junitparams.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?junitparams/internal//class-useIdentityMapper.html" target="_top"><B>FRAMES</B></A> &nbsp;
+&nbsp;<A HREF="IdentityMapper.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &#169; 2012 <a href="http://pragmatists.pl">Pragmatists</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/apidocs/junitparams/internal/class-use/InvokeParameterisedMethod.html b/apidocs/junitparams/internal/class-use/InvokeParameterisedMethod.html
new file mode 100644
index 0000000..dce6e89
--- /dev/null
+++ b/apidocs/junitparams/internal/class-use/InvokeParameterisedMethod.html
@@ -0,0 +1,126 @@
+<!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>Uses of Class junitparams.internal.InvokeParameterisedMethod (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="Uses of Class junitparams.internal.InvokeParameterisedMethod (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><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../junitparams/internal/InvokeParameterisedMethod.html" title="class in junitparams.internal">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></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?junitparams/internal/class-use/InvokeParameterisedMethod.html" target="_top">Frames</a></li>
+<li><a href="InvokeParameterisedMethod.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="header">
+<h2 title="Uses of Class junitparams.internal.InvokeParameterisedMethod" class="title">Uses of Class<br>junitparams.internal.InvokeParameterisedMethod</h2>
+</div>
+<div class="classUseContainer">No usage of junitparams.internal.InvokeParameterisedMethod</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><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../junitparams/internal/InvokeParameterisedMethod.html" title="class in junitparams.internal">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></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?junitparams/internal/class-use/InvokeParameterisedMethod.html" target="_top">Frames</a></li>
+<li><a href="InvokeParameterisedMethod.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>
diff --git a/apidocs/junitparams/internal/class-use/ParameterisedTestClassRunner.html b/apidocs/junitparams/internal/class-use/ParameterisedTestClassRunner.html
new file mode 100644
index 0000000..89408a1
--- /dev/null
+++ b/apidocs/junitparams/internal/class-use/ParameterisedTestClassRunner.html
@@ -0,0 +1,126 @@
+<!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>Uses of Class junitparams.internal.ParameterisedTestClassRunner (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="Uses of Class junitparams.internal.ParameterisedTestClassRunner (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><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../junitparams/internal/ParameterisedTestClassRunner.html" title="class in junitparams.internal">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></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?junitparams/internal/class-use/ParameterisedTestClassRunner.html" target="_top">Frames</a></li>
+<li><a href="ParameterisedTestClassRunner.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="header">
+<h2 title="Uses of Class junitparams.internal.ParameterisedTestClassRunner" class="title">Uses of Class<br>junitparams.internal.ParameterisedTestClassRunner</h2>
+</div>
+<div class="classUseContainer">No usage of junitparams.internal.ParameterisedTestClassRunner</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><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../junitparams/internal/ParameterisedTestClassRunner.html" title="class in junitparams.internal">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></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?junitparams/internal/class-use/ParameterisedTestClassRunner.html" target="_top">Frames</a></li>
+<li><a href="ParameterisedTestClassRunner.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>
diff --git a/apidocs/junitparams/internal/class-use/ParameterisedTestMethodRunner.html b/apidocs/junitparams/internal/class-use/ParameterisedTestMethodRunner.html
new file mode 100644
index 0000000..6df95cb
--- /dev/null
+++ b/apidocs/junitparams/internal/class-use/ParameterisedTestMethodRunner.html
@@ -0,0 +1,166 @@
+<!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>Uses of Class junitparams.internal.ParameterisedTestMethodRunner (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="Uses of Class junitparams.internal.ParameterisedTestMethodRunner (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><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../junitparams/internal/ParameterisedTestMethodRunner.html" title="class in junitparams.internal">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></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?junitparams/internal/class-use/ParameterisedTestMethodRunner.html" target="_top">Frames</a></li>
+<li><a href="ParameterisedTestMethodRunner.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="header">
+<h2 title="Uses of Class junitparams.internal.ParameterisedTestMethodRunner" class="title">Uses of Class<br>junitparams.internal.ParameterisedTestMethodRunner</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../junitparams/internal/ParameterisedTestMethodRunner.html" title="class in junitparams.internal">ParameterisedTestMethodRunner</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#junitparams.internal">junitparams.internal</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="junitparams.internal">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../junitparams/internal/ParameterisedTestMethodRunner.html" title="class in junitparams.internal">ParameterisedTestMethodRunner</a> in <a href="../../../junitparams/internal/package-summary.html">junitparams.internal</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../junitparams/internal/package-summary.html">junitparams.internal</a> with type parameters of type <a href="../../../junitparams/internal/ParameterisedTestMethodRunner.html" title="class in junitparams.internal">ParameterisedTestMethodRunner</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a>,<a href="../../../junitparams/internal/ParameterisedTestMethodRunner.html" title="class in junitparams.internal">ParameterisedTestMethodRunner</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ParameterisedTestClassRunner.</span><code><span class="memberNameLink"><a href="../../../junitparams/internal/ParameterisedTestClassRunner.html#parameterisedMethods">parameterisedMethods</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</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><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../junitparams/internal/ParameterisedTestMethodRunner.html" title="class in junitparams.internal">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></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?junitparams/internal/class-use/ParameterisedTestMethodRunner.html" target="_top">Frames</a></li>
+<li><a href="ParameterisedTestMethodRunner.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>
diff --git a/apidocs/junitparams/internal/class-use/TestMethod.html b/apidocs/junitparams/internal/class-use/TestMethod.html
new file mode 100644
index 0000000..d4bb263
--- /dev/null
+++ b/apidocs/junitparams/internal/class-use/TestMethod.html
@@ -0,0 +1,250 @@
+<!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>Uses of Class junitparams.internal.TestMethod (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="Uses of Class junitparams.internal.TestMethod (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><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></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?junitparams/internal/class-use/TestMethod.html" target="_top">Frames</a></li>
+<li><a href="TestMethod.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="header">
+<h2 title="Uses of Class junitparams.internal.TestMethod" class="title">Uses of Class<br>junitparams.internal.TestMethod</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#junitparams.internal">junitparams.internal</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="junitparams.internal">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a> in <a href="../../../junitparams/internal/package-summary.html">junitparams.internal</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../junitparams/internal/package-summary.html">junitparams.internal</a> declared as <a href="../../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ParameterisedTestMethodRunner.</span><code><span class="memberNameLink"><a href="../../../junitparams/internal/ParameterisedTestMethodRunner.html#method">method</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../junitparams/internal/package-summary.html">junitparams.internal</a> with type parameters of type <a href="../../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a>,<a href="../../../junitparams/internal/ParameterisedTestMethodRunner.html" title="class in junitparams.internal">ParameterisedTestMethodRunner</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ParameterisedTestClassRunner.</span><code><span class="memberNameLink"><a href="../../../junitparams/internal/ParameterisedTestClassRunner.html#parameterisedMethods">parameterisedMethods</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.junit.runners.model.FrameworkMethod,<a href="../../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ParameterisedTestClassRunner.</span><code><span class="memberNameLink"><a href="../../../junitparams/internal/ParameterisedTestClassRunner.html#testMethods">testMethods</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ParameterisedTestClassRunner.</span><code><span class="memberNameLink"><a href="../../../junitparams/internal/ParameterisedTestClassRunner.html#testMethodsList">testMethodsList</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../junitparams/internal/package-summary.html">junitparams.internal</a> that return <a href="../../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ParameterisedTestClassRunner.</span><code><span class="memberNameLink"><a href="../../../junitparams/internal/ParameterisedTestClassRunner.html#testMethodFor-org.junit.runners.model.FrameworkMethod-">testMethodFor</a></span>(org.junit.runners.model.FrameworkMethod&nbsp;method)</code>
+<div class="block">Returns a cached TestMethod object related to the given FrameworkMethod.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../junitparams/internal/package-summary.html">junitparams.internal</a> that return types with arguments of type <a href="../../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TestMethod.</span><code><span class="memberNameLink"><a href="../../../junitparams/internal/TestMethod.html#listFrom-java.util.List-org.junit.runners.model.TestClass-">listFrom</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.junit.runners.model.FrameworkMethod&gt;&nbsp;annotatedMethods,
+ org.junit.runners.model.TestClass&nbsp;testClass)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../junitparams/internal/package-summary.html">junitparams.internal</a> with parameters of type <a href="../../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ParameterisedTestClassRunner.</span><code><span class="memberNameLink"><a href="../../../junitparams/internal/ParameterisedTestClassRunner.html#runParameterisedTest-junitparams.internal.TestMethod-org.junit.runners.model.Statement-org.junit.runner.notification.RunNotifier-">runParameterisedTest</a></span>(<a href="../../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a>&nbsp;method,
+ org.junit.runners.model.Statement&nbsp;methodInvoker,
+ org.junit.runner.notification.RunNotifier&nbsp;notifier)</code>
+<div class="block">Executes parameterised method.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">ParameterisedTestClassRunner.</span><code><span class="memberNameLink"><a href="../../../junitparams/internal/ParameterisedTestClassRunner.html#shouldRun-junitparams.internal.TestMethod-">shouldRun</a></span>(<a href="../../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a>&nbsp;testMethod)</code>
+<div class="block">Tells if method should be run by this runner.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../junitparams/internal/package-summary.html">junitparams.internal</a> with parameters of type <a href="../../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../junitparams/internal/ParameterisedTestMethodRunner.html#ParameterisedTestMethodRunner-junitparams.internal.TestMethod-">ParameterisedTestMethodRunner</a></span>(<a href="../../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a>&nbsp;testMethod)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</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><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></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?junitparams/internal/class-use/TestMethod.html" target="_top">Frames</a></li>
+<li><a href="TestMethod.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>
diff --git a/apidocs/junitparams/internal/class-use/Utils.html b/apidocs/junitparams/internal/class-use/Utils.html
new file mode 100644
index 0000000..1c714cd
--- /dev/null
+++ b/apidocs/junitparams/internal/class-use/Utils.html
@@ -0,0 +1,126 @@
+<!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>Uses of Class junitparams.internal.Utils (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="Uses of Class junitparams.internal.Utils (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><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../junitparams/internal/Utils.html" title="class in junitparams.internal">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></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?junitparams/internal/class-use/Utils.html" target="_top">Frames</a></li>
+<li><a href="Utils.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="header">
+<h2 title="Uses of Class junitparams.internal.Utils" class="title">Uses of Class<br>junitparams.internal.Utils</h2>
+</div>
+<div class="classUseContainer">No usage of junitparams.internal.Utils</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><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../junitparams/internal/Utils.html" title="class in junitparams.internal">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></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?junitparams/internal/class-use/Utils.html" target="_top">Frames</a></li>
+<li><a href="Utils.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>
diff --git a/apidocs/junitparams/internal/package-frame.html b/apidocs/junitparams/internal/package-frame.html
new file mode 100644
index 0000000..ce11b64
--- /dev/null
+++ b/apidocs/junitparams/internal/package-frame.html
@@ -0,0 +1,25 @@
+<!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>junitparams.internal (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>
+<h1 class="bar"><a href="../../junitparams/internal/package-summary.html" target="classFrame">junitparams.internal</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="InvokeParameterisedMethod.html" title="class in junitparams.internal" target="classFrame">InvokeParameterisedMethod</a></li>
+<li><a href="ParameterisedTestClassRunner.html" title="class in junitparams.internal" target="classFrame">ParameterisedTestClassRunner</a></li>
+<li><a href="ParameterisedTestMethodRunner.html" title="class in junitparams.internal" target="classFrame">ParameterisedTestMethodRunner</a></li>
+<li><a href="TestMethod.html" title="class in junitparams.internal" target="classFrame">TestMethod</a></li>
+<li><a href="Utils.html" title="class in junitparams.internal" target="classFrame">Utils</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/apidocs/junitparams/internal/package-summary.html b/apidocs/junitparams/internal/package-summary.html
new file mode 100644
index 0000000..4e7e827
--- /dev/null
+++ b/apidocs/junitparams/internal/package-summary.html
@@ -0,0 +1,171 @@
+<!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>junitparams.internal (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="junitparams.internal (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 class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../junitparams/converters/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../junitparams/mappers/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/internal/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.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="header">
+<h1 title="Package" class="title">Package&nbsp;junitparams.internal</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../junitparams/internal/InvokeParameterisedMethod.html" title="class in junitparams.internal">InvokeParameterisedMethod</a></td>
+<td class="colLast">
+<div class="block">JUnit invoker for parameterised test methods</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../junitparams/internal/ParameterisedTestClassRunner.html" title="class in junitparams.internal">ParameterisedTestClassRunner</a></td>
+<td class="colLast">
+<div class="block">Testclass-level functionalities to handle parameters from a JUnit runner
+ class.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../junitparams/internal/ParameterisedTestMethodRunner.html" title="class in junitparams.internal">ParameterisedTestMethodRunner</a></td>
+<td class="colLast">
+<div class="block">Testmethod-level functionalities for parameterised tests</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../junitparams/internal/TestMethod.html" title="class in junitparams.internal">TestMethod</a></td>
+<td class="colLast">
+<div class="block">A wrapper for a test method</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../junitparams/internal/Utils.html" title="class in junitparams.internal">Utils</a></td>
+<td class="colLast">
+<div class="block">Some String utils to handle parameterised tests' results.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</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 class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../junitparams/converters/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../junitparams/mappers/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/internal/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.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>
diff --git a/apidocs/junitparams/internal/package-tree.html b/apidocs/junitparams/internal/package-tree.html
new file mode 100644
index 0000000..424fae2
--- /dev/null
+++ b/apidocs/junitparams/internal/package-tree.html
@@ -0,0 +1,147 @@
+<!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>junitparams.internal Class Hierarchy (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="junitparams.internal Class Hierarchy (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><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../junitparams/converters/package-tree.html">Prev</a></li>
+<li><a href="../../junitparams/mappers/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/internal/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.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="header">
+<h1 class="title">Hierarchy For Package junitparams.internal</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">junitparams.internal.<a href="../../junitparams/internal/ParameterisedTestClassRunner.html" title="class in junitparams.internal"><span class="typeNameLink">ParameterisedTestClassRunner</span></a></li>
+<li type="circle">junitparams.internal.<a href="../../junitparams/internal/ParameterisedTestMethodRunner.html" title="class in junitparams.internal"><span class="typeNameLink">ParameterisedTestMethodRunner</span></a></li>
+<li type="circle">org.junit.runners.model.Statement
+<ul>
+<li type="circle">junitparams.internal.<a href="../../junitparams/internal/InvokeParameterisedMethod.html" title="class in junitparams.internal"><span class="typeNameLink">InvokeParameterisedMethod</span></a></li>
+</ul>
+</li>
+<li type="circle">junitparams.internal.<a href="../../junitparams/internal/TestMethod.html" title="class in junitparams.internal"><span class="typeNameLink">TestMethod</span></a></li>
+<li type="circle">junitparams.internal.<a href="../../junitparams/internal/Utils.html" title="class in junitparams.internal"><span class="typeNameLink">Utils</span></a></li>
+</ul>
+</li>
+</ul>
+</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><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../junitparams/converters/package-tree.html">Prev</a></li>
+<li><a href="../../junitparams/mappers/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/internal/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.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>
diff --git a/apidocs/junitparams/internal/package-use.html b/apidocs/junitparams/internal/package-use.html
new file mode 100644
index 0000000..45ed0b9
--- /dev/null
+++ b/apidocs/junitparams/internal/package-use.html
@@ -0,0 +1,166 @@
+<!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>Uses of Package junitparams.internal (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="Uses of Package junitparams.internal (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><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></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?junitparams/internal/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.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="header">
+<h1 title="Uses of Package junitparams.internal" class="title">Uses of Package<br>junitparams.internal</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../junitparams/internal/package-summary.html">junitparams.internal</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#junitparams.internal">junitparams.internal</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="junitparams.internal">
+<!-- -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../junitparams/internal/package-summary.html">junitparams.internal</a> used by <a href="../../junitparams/internal/package-summary.html">junitparams.internal</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../junitparams/internal/class-use/ParameterisedTestMethodRunner.html#junitparams.internal">ParameterisedTestMethodRunner</a>
+<div class="block">Testmethod-level functionalities for parameterised tests</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../junitparams/internal/class-use/TestMethod.html#junitparams.internal">TestMethod</a>
+<div class="block">A wrapper for a test method</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</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><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></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?junitparams/internal/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.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>
diff --git a/apidocs/junitparams/mappers/CsvWithHeaderMapper.html b/apidocs/junitparams/mappers/CsvWithHeaderMapper.html
new file mode 100644
index 0000000..142949f
--- /dev/null
+++ b/apidocs/junitparams/mappers/CsvWithHeaderMapper.html
@@ -0,0 +1,305 @@
+<!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>CsvWithHeaderMapper (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="CsvWithHeaderMapper (JUnitParams 1.0.3-SNAPSHOT API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</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><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/CsvWithHeaderMapper.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../junitparams/mappers/DataMapper.html" title="interface in junitparams.mappers"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/mappers/CsvWithHeaderMapper.html" target="_top">Frames</a></li>
+<li><a href="CsvWithHeaderMapper.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>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">junitparams.mappers</div>
+<h2 title="Class CsvWithHeaderMapper" class="title">Class CsvWithHeaderMapper</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>junitparams.mappers.CsvWithHeaderMapper</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../junitparams/mappers/DataMapper.html" title="interface in junitparams.mappers">DataMapper</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">CsvWithHeaderMapper</span>
+extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../junitparams/mappers/DataMapper.html" title="interface in junitparams.mappers">DataMapper</a></pre>
+<div class="block">Reads a CSV file starting from the second line - the first one is supposed to
+ be a header. If you don't want to skip the first line, use &#064;FilePatameters
+ without any mapper.</div>
+<dl>
+<dt><span class="simpleTagLabel">Author:</span></dt>
+<dd>Pawel Lipinski</dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../junitparams/mappers/CsvWithHeaderMapper.html#CsvWithHeaderMapper--">CsvWithHeaderMapper</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/mappers/CsvWithHeaderMapper.html#map-java.io.Reader-">map</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io">Reader</a>&nbsp;reader)</code>
+<div class="block">Maps file contents to parameters.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="CsvWithHeaderMapper--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>CsvWithHeaderMapper</h4>
+<pre>public&nbsp;CsvWithHeaderMapper()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="map-java.io.Reader-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>map</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;map(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io">Reader</a>&nbsp;reader)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../junitparams/mappers/DataMapper.html#map-java.io.Reader-">DataMapper</a></code></span></div>
+<div class="block">Maps file contents to parameters. In your implementation read the data
+ from the reader. The reader is closed in the framework, so just read it
+ :)
+
+ While reading transform the data into Object[][], where external
+ dimension are different parameter sets, and internal dimension is the set
+ of params per single test call
+
+ You can optionally return Object[] with Strings inside, but each String
+ must be a string in the same format as what you would normally pass to
+ &#064;Parameters({})</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../junitparams/mappers/DataMapper.html#map-java.io.Reader-">map</a></code>&nbsp;in interface&nbsp;<code><a href="../../junitparams/mappers/DataMapper.html" title="interface in junitparams.mappers">DataMapper</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array with all parameter sets</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= 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><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/CsvWithHeaderMapper.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../junitparams/mappers/DataMapper.html" title="interface in junitparams.mappers"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/mappers/CsvWithHeaderMapper.html" target="_top">Frames</a></li>
+<li><a href="CsvWithHeaderMapper.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>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</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>
diff --git a/apidocs/junitparams/mappers/DataMapper.html b/apidocs/junitparams/mappers/DataMapper.html
new file mode 100644
index 0000000..32e2842
--- /dev/null
+++ b/apidocs/junitparams/mappers/DataMapper.html
@@ -0,0 +1,253 @@
+<!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>DataMapper (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="DataMapper (JUnitParams 1.0.3-SNAPSHOT API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</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><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DataMapper.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../junitparams/mappers/CsvWithHeaderMapper.html" title="class in junitparams.mappers"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../junitparams/mappers/IdentityMapper.html" title="class in junitparams.mappers"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/mappers/DataMapper.html" target="_top">Frames</a></li>
+<li><a href="DataMapper.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>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">junitparams.mappers</div>
+<h2 title="Interface DataMapper" class="title">Interface DataMapper</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../junitparams/mappers/CsvWithHeaderMapper.html" title="class in junitparams.mappers">CsvWithHeaderMapper</a>, <a href="../../junitparams/mappers/IdentityMapper.html" title="class in junitparams.mappers">IdentityMapper</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">DataMapper</span></pre>
+<div class="block">Interface to be used by FileParameters'ized test methods. If you want to read
+ your own format of data from file, implement the map method appropriately.
+ For CSV files, just skip it.</div>
+<dl>
+<dt><span class="simpleTagLabel">Author:</span></dt>
+<dd>Pawel Lipinski</dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/mappers/DataMapper.html#map-java.io.Reader-">map</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io">Reader</a>&nbsp;reader)</code>
+<div class="block">Maps file contents to parameters.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="map-java.io.Reader-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>map</h4>
+<pre><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;map(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io">Reader</a>&nbsp;reader)</pre>
+<div class="block">Maps file contents to parameters. In your implementation read the data
+ from the reader. The reader is closed in the framework, so just read it
+ :)
+
+ While reading transform the data into Object[][], where external
+ dimension are different parameter sets, and internal dimension is the set
+ of params per single test call
+
+ You can optionally return Object[] with Strings inside, but each String
+ must be a string in the same format as what you would normally pass to
+ &#064;Parameters({})</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>reader</code> - </dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array with all parameter sets</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= 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><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DataMapper.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../junitparams/mappers/CsvWithHeaderMapper.html" title="class in junitparams.mappers"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../junitparams/mappers/IdentityMapper.html" title="class in junitparams.mappers"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/mappers/DataMapper.html" target="_top">Frames</a></li>
+<li><a href="DataMapper.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>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</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>
diff --git a/apidocs/junitparams/mappers/IdentityMapper.html b/apidocs/junitparams/mappers/IdentityMapper.html
new file mode 100644
index 0000000..a1b9c1c
--- /dev/null
+++ b/apidocs/junitparams/mappers/IdentityMapper.html
@@ -0,0 +1,309 @@
+<!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>IdentityMapper (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="IdentityMapper (JUnitParams 1.0.3-SNAPSHOT API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</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><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/IdentityMapper.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../junitparams/mappers/DataMapper.html" title="interface in junitparams.mappers"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/mappers/IdentityMapper.html" target="_top">Frames</a></li>
+<li><a href="IdentityMapper.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>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">junitparams.mappers</div>
+<h2 title="Class IdentityMapper" class="title">Class IdentityMapper</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>junitparams.mappers.IdentityMapper</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../junitparams/mappers/DataMapper.html" title="interface in junitparams.mappers">DataMapper</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">IdentityMapper</span>
+extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../junitparams/mappers/DataMapper.html" title="interface in junitparams.mappers">DataMapper</a></pre>
+<div class="block">A mapper, that maps contents of a file to a set of parameters for test
+ methods. Basically a CSV with no header and ordering of columns exactly like
+ the one in the test methods.
+
+ It uses the logic from &#064;Parameters({}) for parsing lines of file, so be sure
+ the columns in the file match exactly the ordering of arguments in the test
+ method.</div>
+<dl>
+<dt><span class="simpleTagLabel">Author:</span></dt>
+<dd>Pawel Lipinski</dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../junitparams/mappers/IdentityMapper.html#IdentityMapper--">IdentityMapper</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../junitparams/mappers/IdentityMapper.html#map-java.io.Reader-">map</a></span>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io">Reader</a>&nbsp;reader)</code>
+<div class="block">Maps file contents to parameters.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="IdentityMapper--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>IdentityMapper</h4>
+<pre>public&nbsp;IdentityMapper()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="map-java.io.Reader-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>map</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;map(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io">Reader</a>&nbsp;reader)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../junitparams/mappers/DataMapper.html#map-java.io.Reader-">DataMapper</a></code></span></div>
+<div class="block">Maps file contents to parameters. In your implementation read the data
+ from the reader. The reader is closed in the framework, so just read it
+ :)
+
+ While reading transform the data into Object[][], where external
+ dimension are different parameter sets, and internal dimension is the set
+ of params per single test call
+
+ You can optionally return Object[] with Strings inside, but each String
+ must be a string in the same format as what you would normally pass to
+ &#064;Parameters({})</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../junitparams/mappers/DataMapper.html#map-java.io.Reader-">map</a></code>&nbsp;in interface&nbsp;<code><a href="../../junitparams/mappers/DataMapper.html" title="interface in junitparams.mappers">DataMapper</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array with all parameter sets</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= 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><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/IdentityMapper.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../junitparams/mappers/DataMapper.html" title="interface in junitparams.mappers"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/mappers/IdentityMapper.html" target="_top">Frames</a></li>
+<li><a href="IdentityMapper.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>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</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>
diff --git a/apidocs/junitparams/mappers/class-use/CsvWithHeaderMapper.html b/apidocs/junitparams/mappers/class-use/CsvWithHeaderMapper.html
new file mode 100644
index 0000000..b5c23f4
--- /dev/null
+++ b/apidocs/junitparams/mappers/class-use/CsvWithHeaderMapper.html
@@ -0,0 +1,126 @@
+<!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>Uses of Class junitparams.mappers.CsvWithHeaderMapper (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="Uses of Class junitparams.mappers.CsvWithHeaderMapper (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><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../junitparams/mappers/CsvWithHeaderMapper.html" title="class in junitparams.mappers">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></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?junitparams/mappers/class-use/CsvWithHeaderMapper.html" target="_top">Frames</a></li>
+<li><a href="CsvWithHeaderMapper.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="header">
+<h2 title="Uses of Class junitparams.mappers.CsvWithHeaderMapper" class="title">Uses of Class<br>junitparams.mappers.CsvWithHeaderMapper</h2>
+</div>
+<div class="classUseContainer">No usage of junitparams.mappers.CsvWithHeaderMapper</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><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../junitparams/mappers/CsvWithHeaderMapper.html" title="class in junitparams.mappers">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></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?junitparams/mappers/class-use/CsvWithHeaderMapper.html" target="_top">Frames</a></li>
+<li><a href="CsvWithHeaderMapper.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>
diff --git a/apidocs/junitparams/mappers/class-use/DataMapper.html b/apidocs/junitparams/mappers/class-use/DataMapper.html
new file mode 100644
index 0000000..e532540
--- /dev/null
+++ b/apidocs/junitparams/mappers/class-use/DataMapper.html
@@ -0,0 +1,176 @@
+<!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>Uses of Interface junitparams.mappers.DataMapper (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="Uses of Interface junitparams.mappers.DataMapper (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><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../junitparams/mappers/DataMapper.html" title="interface in junitparams.mappers">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></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?junitparams/mappers/class-use/DataMapper.html" target="_top">Frames</a></li>
+<li><a href="DataMapper.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="header">
+<h2 title="Uses of Interface junitparams.mappers.DataMapper" class="title">Uses of Interface<br>junitparams.mappers.DataMapper</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../junitparams/mappers/DataMapper.html" title="interface in junitparams.mappers">DataMapper</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#junitparams.mappers">junitparams.mappers</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="junitparams.mappers">
+<!-- -->
+</a>
+<h3>Uses of <a href="../../../junitparams/mappers/DataMapper.html" title="interface in junitparams.mappers">DataMapper</a> in <a href="../../../junitparams/mappers/package-summary.html">junitparams.mappers</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../junitparams/mappers/package-summary.html">junitparams.mappers</a> that implement <a href="../../../junitparams/mappers/DataMapper.html" title="interface in junitparams.mappers">DataMapper</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../junitparams/mappers/CsvWithHeaderMapper.html" title="class in junitparams.mappers">CsvWithHeaderMapper</a></span></code>
+<div class="block">Reads a CSV file starting from the second line - the first one is supposed to
+ be a header.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../junitparams/mappers/IdentityMapper.html" title="class in junitparams.mappers">IdentityMapper</a></span></code>
+<div class="block">A mapper, that maps contents of a file to a set of parameters for test
+ methods.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</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><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../junitparams/mappers/DataMapper.html" title="interface in junitparams.mappers">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></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?junitparams/mappers/class-use/DataMapper.html" target="_top">Frames</a></li>
+<li><a href="DataMapper.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>
diff --git a/apidocs/junitparams/mappers/class-use/IdentityMapper.html b/apidocs/junitparams/mappers/class-use/IdentityMapper.html
new file mode 100644
index 0000000..9d8f0e8
--- /dev/null
+++ b/apidocs/junitparams/mappers/class-use/IdentityMapper.html
@@ -0,0 +1,126 @@
+<!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>Uses of Class junitparams.mappers.IdentityMapper (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="Uses of Class junitparams.mappers.IdentityMapper (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><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../junitparams/mappers/IdentityMapper.html" title="class in junitparams.mappers">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></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?junitparams/mappers/class-use/IdentityMapper.html" target="_top">Frames</a></li>
+<li><a href="IdentityMapper.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="header">
+<h2 title="Uses of Class junitparams.mappers.IdentityMapper" class="title">Uses of Class<br>junitparams.mappers.IdentityMapper</h2>
+</div>
+<div class="classUseContainer">No usage of junitparams.mappers.IdentityMapper</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><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../junitparams/mappers/IdentityMapper.html" title="class in junitparams.mappers">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></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?junitparams/mappers/class-use/IdentityMapper.html" target="_top">Frames</a></li>
+<li><a href="IdentityMapper.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>
diff --git a/apidocs/junitparams/mappers/package-frame.html b/apidocs/junitparams/mappers/package-frame.html
new file mode 100644
index 0000000..e55aed3
--- /dev/null
+++ b/apidocs/junitparams/mappers/package-frame.html
@@ -0,0 +1,26 @@
+<!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>junitparams.mappers (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>
+<h1 class="bar"><a href="../../junitparams/mappers/package-summary.html" target="classFrame">junitparams.mappers</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="DataMapper.html" title="interface in junitparams.mappers" target="classFrame"><span class="interfaceName">DataMapper</span></a></li>
+</ul>
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="CsvWithHeaderMapper.html" title="class in junitparams.mappers" target="classFrame">CsvWithHeaderMapper</a></li>
+<li><a href="IdentityMapper.html" title="class in junitparams.mappers" target="classFrame">IdentityMapper</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/apidocs/junitparams/mappers/package-summary.html b/apidocs/junitparams/mappers/package-summary.html
new file mode 100644
index 0000000..7440cae
--- /dev/null
+++ b/apidocs/junitparams/mappers/package-summary.html
@@ -0,0 +1,171 @@
+<!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>junitparams.mappers (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="junitparams.mappers (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 class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../junitparams/internal/package-summary.html">Prev&nbsp;Package</a></li>
+<li>Next&nbsp;Package</li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/mappers/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.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="header">
+<h1 title="Package" class="title">Package&nbsp;junitparams.mappers</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../junitparams/mappers/DataMapper.html" title="interface in junitparams.mappers">DataMapper</a></td>
+<td class="colLast">
+<div class="block">Interface to be used by FileParameters'ized test methods.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../junitparams/mappers/CsvWithHeaderMapper.html" title="class in junitparams.mappers">CsvWithHeaderMapper</a></td>
+<td class="colLast">
+<div class="block">Reads a CSV file starting from the second line - the first one is supposed to
+ be a header.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../junitparams/mappers/IdentityMapper.html" title="class in junitparams.mappers">IdentityMapper</a></td>
+<td class="colLast">
+<div class="block">A mapper, that maps contents of a file to a set of parameters for test
+ methods.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</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 class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../junitparams/internal/package-summary.html">Prev&nbsp;Package</a></li>
+<li>Next&nbsp;Package</li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/mappers/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.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>
diff --git a/apidocs/junitparams/mappers/package-tree.html b/apidocs/junitparams/mappers/package-tree.html
new file mode 100644
index 0000000..866f1d7
--- /dev/null
+++ b/apidocs/junitparams/mappers/package-tree.html
@@ -0,0 +1,144 @@
+<!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>junitparams.mappers Class Hierarchy (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="junitparams.mappers Class Hierarchy (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><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../junitparams/internal/package-tree.html">Prev</a></li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/mappers/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.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="header">
+<h1 class="title">Hierarchy For Package junitparams.mappers</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">junitparams.mappers.<a href="../../junitparams/mappers/CsvWithHeaderMapper.html" title="class in junitparams.mappers"><span class="typeNameLink">CsvWithHeaderMapper</span></a> (implements junitparams.mappers.<a href="../../junitparams/mappers/DataMapper.html" title="interface in junitparams.mappers">DataMapper</a>)</li>
+<li type="circle">junitparams.mappers.<a href="../../junitparams/mappers/IdentityMapper.html" title="class in junitparams.mappers"><span class="typeNameLink">IdentityMapper</span></a> (implements junitparams.mappers.<a href="../../junitparams/mappers/DataMapper.html" title="interface in junitparams.mappers">DataMapper</a>)</li>
+</ul>
+</li>
+</ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">junitparams.mappers.<a href="../../junitparams/mappers/DataMapper.html" title="interface in junitparams.mappers"><span class="typeNameLink">DataMapper</span></a></li>
+</ul>
+</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><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../junitparams/internal/package-tree.html">Prev</a></li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../index.html?junitparams/mappers/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.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>
diff --git a/apidocs/junitparams/mappers/package-use.html b/apidocs/junitparams/mappers/package-use.html
new file mode 100644
index 0000000..ff63c3c
--- /dev/null
+++ b/apidocs/junitparams/mappers/package-use.html
@@ -0,0 +1,161 @@
+<!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>Uses of Package junitparams.mappers (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="Uses of Package junitparams.mappers (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><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></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?junitparams/mappers/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.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="header">
+<h1 title="Uses of Package junitparams.mappers" class="title">Uses of Package<br>junitparams.mappers</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../junitparams/mappers/package-summary.html">junitparams.mappers</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#junitparams.mappers">junitparams.mappers</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="junitparams.mappers">
+<!-- -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../junitparams/mappers/package-summary.html">junitparams.mappers</a> used by <a href="../../junitparams/mappers/package-summary.html">junitparams.mappers</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../junitparams/mappers/class-use/DataMapper.html#junitparams.mappers">DataMapper</a>
+<div class="block">Interface to be used by FileParameters'ized test methods.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</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><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></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?junitparams/mappers/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.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>
diff --git a/apidocs/junitparams/package-frame.html b/apidocs/junitparams/package-frame.html
new file mode 100644
index 0000000..fb8e1fd
--- /dev/null
+++ b/apidocs/junitparams/package-frame.html
@@ -0,0 +1,26 @@
+<!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>junitparams (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>
+<h1 class="bar"><a href="../junitparams/package-summary.html" target="classFrame">junitparams</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="JUnitParamsRunner.html" title="class in junitparams" target="classFrame">JUnitParamsRunner</a></li>
+</ul>
+<h2 title="Annotation Types">Annotation Types</h2>
+<ul title="Annotation Types">
+<li><a href="FileParameters.html" title="annotation in junitparams" target="classFrame">FileParameters</a></li>
+<li><a href="Parameters.html" title="annotation in junitparams" target="classFrame">Parameters</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/apidocs/junitparams/package-summary.html b/apidocs/junitparams/package-summary.html
new file mode 100644
index 0000000..53ec407
--- /dev/null
+++ b/apidocs/junitparams/package-summary.html
@@ -0,0 +1,172 @@
+<!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>junitparams (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="junitparams (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 class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../deprecated-list.html">Deprecated</a></li>
+<li><a href="../index-all.html">Index</a></li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Package</li>
+<li><a href="../junitparams/converters/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?junitparams/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.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="header">
+<h1 title="Package" class="title">Package&nbsp;junitparams</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../junitparams/JUnitParamsRunner.html" title="class in junitparams">JUnitParamsRunner</a></td>
+<td class="colLast">
+<div class="block">JUnitParams<br>
+
+ This is a JUnit runner for parameterised tests that don't suck.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Annotation Types Summary table, listing annotation types, and an explanation">
+<caption><span>Annotation Types Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Annotation Type</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../junitparams/FileParameters.html" title="annotation in junitparams">FileParameters</a></td>
+<td class="colLast">
+<div class="block">Denotes that parameters for a annotated test method should be taken from an
+ external resource.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../junitparams/Parameters.html" title="annotation in junitparams">Parameters</a></td>
+<td class="colLast">
+<div class="block">THE annotation for the test parameters.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</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 class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../deprecated-list.html">Deprecated</a></li>
+<li><a href="../index-all.html">Index</a></li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Package</li>
+<li><a href="../junitparams/converters/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?junitparams/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.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>
diff --git a/apidocs/junitparams/package-tree.html b/apidocs/junitparams/package-tree.html
new file mode 100644
index 0000000..95f3f5a
--- /dev/null
+++ b/apidocs/junitparams/package-tree.html
@@ -0,0 +1,156 @@
+<!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>junitparams Class Hierarchy (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="junitparams Class Hierarchy (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><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../deprecated-list.html">Deprecated</a></li>
+<li><a href="../index-all.html">Index</a></li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li><a href="../junitparams/converters/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?junitparams/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.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="header">
+<h1 class="title">Hierarchy For Package junitparams</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.junit.runner.Runner (implements org.junit.runner.Describable)
+<ul>
+<li type="circle">org.junit.runners.ParentRunner&lt;T&gt; (implements org.junit.runner.manipulation.Filterable, org.junit.runner.manipulation.Sortable)
+<ul>
+<li type="circle">org.junit.runners.BlockJUnit4ClassRunner
+<ul>
+<li type="circle">junitparams.<a href="../junitparams/JUnitParamsRunner.html" title="class in junitparams"><span class="typeNameLink">JUnitParamsRunner</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<h2 title="Annotation Type Hierarchy">Annotation Type Hierarchy</h2>
+<ul>
+<li type="circle">junitparams.<a href="../junitparams/FileParameters.html" title="annotation in junitparams"><span class="typeNameLink">FileParameters</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
+<li type="circle">junitparams.<a href="../junitparams/Parameters.html" title="annotation in junitparams"><span class="typeNameLink">Parameters</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
+</ul>
+</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><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../deprecated-list.html">Deprecated</a></li>
+<li><a href="../index-all.html">Index</a></li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li><a href="../junitparams/converters/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?junitparams/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.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>
diff --git a/apidocs/junitparams/package-use.html b/apidocs/junitparams/package-use.html
new file mode 100644
index 0000000..16d7e93
--- /dev/null
+++ b/apidocs/junitparams/package-use.html
@@ -0,0 +1,126 @@
+<!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>Uses of Package junitparams (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="Uses of Package junitparams (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><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../deprecated-list.html">Deprecated</a></li>
+<li><a href="../index-all.html">Index</a></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?junitparams/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.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="header">
+<h1 title="Uses of Package junitparams" class="title">Uses of Package<br>junitparams</h1>
+</div>
+<div class="contentContainer">No usage of junitparams</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><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../deprecated-list.html">Deprecated</a></li>
+<li><a href="../index-all.html">Index</a></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?junitparams/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.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>
diff --git a/apidocs/overview-frame.html b/apidocs/overview-frame.html
new file mode 100644
index 0000000..a6f4b06
--- /dev/null
+++ b/apidocs/overview-frame.html
@@ -0,0 +1,25 @@
+<!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>Overview List (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>
+<div class="indexHeader"><span><a href="allclasses-frame.html" target="packageFrame">All&nbsp;Classes</a></span></div>
+<div class="indexContainer">
+<h2 title="Packages">Packages</h2>
+<ul title="Packages">
+<li><a href="junitparams/package-frame.html" target="packageFrame">junitparams</a></li>
+<li><a href="junitparams/converters/package-frame.html" target="packageFrame">junitparams.converters</a></li>
+<li><a href="junitparams/internal/package-frame.html" target="packageFrame">junitparams.internal</a></li>
+<li><a href="junitparams/mappers/package-frame.html" target="packageFrame">junitparams.mappers</a></li>
+</ul>
+</div>
+<p>&nbsp;</p>
+</body>
+</html>
diff --git a/apidocs/overview-summary.html b/apidocs/overview-summary.html
new file mode 100644
index 0000000..6348f9e
--- /dev/null
+++ b/apidocs/overview-summary.html
@@ -0,0 +1,152 @@
+<!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>Overview (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="Overview (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 class="navBarCell1Rev">Overview</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><a href="index-all.html">Index</a></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?overview-summary.html" target="_top">Frames</a></li>
+<li><a href="overview-summary.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="header">
+<h1 class="title">JUnitParams 1.0.3-SNAPSHOT API</h1>
+</div>
+<div class="contentContainer">
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Packages table, listing packages, and an explanation">
+<caption><span>Packages</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="junitparams/package-summary.html">junitparams</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="junitparams/converters/package-summary.html">junitparams.converters</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="junitparams/internal/package-summary.html">junitparams.internal</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="junitparams/mappers/package-summary.html">junitparams.mappers</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</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 class="navBarCell1Rev">Overview</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><a href="index-all.html">Index</a></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?overview-summary.html" target="_top">Frames</a></li>
+<li><a href="overview-summary.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>
diff --git a/apidocs/overview-tree.html b/apidocs/overview-tree.html
new file mode 100644
index 0000000..ceeb6ff
--- /dev/null
+++ b/apidocs/overview-tree.html
@@ -0,0 +1,185 @@
+<!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>Class Hierarchy (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="Class Hierarchy (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 class="navBarCell1Rev">Tree</li>
+<li><a href="deprecated-list.html">Deprecated</a></li>
+<li><a href="index-all.html">Index</a></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?overview-tree.html" target="_top">Frames</a></li>
+<li><a href="overview-tree.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="header">
+<h1 class="title">Hierarchy For All Packages</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="junitparams/package-tree.html">junitparams</a>, </li>
+<li><a href="junitparams/converters/package-tree.html">junitparams.converters</a>, </li>
+<li><a href="junitparams/internal/package-tree.html">junitparams.internal</a>, </li>
+<li><a href="junitparams/mappers/package-tree.html">junitparams.mappers</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">junitparams.mappers.<a href="junitparams/mappers/CsvWithHeaderMapper.html" title="class in junitparams.mappers"><span class="typeNameLink">CsvWithHeaderMapper</span></a> (implements junitparams.mappers.<a href="junitparams/mappers/DataMapper.html" title="interface in junitparams.mappers">DataMapper</a>)</li>
+<li type="circle">junitparams.mappers.<a href="junitparams/mappers/IdentityMapper.html" title="class in junitparams.mappers"><span class="typeNameLink">IdentityMapper</span></a> (implements junitparams.mappers.<a href="junitparams/mappers/DataMapper.html" title="interface in junitparams.mappers">DataMapper</a>)</li>
+<li type="circle">junitparams.internal.<a href="junitparams/internal/ParameterisedTestClassRunner.html" title="class in junitparams.internal"><span class="typeNameLink">ParameterisedTestClassRunner</span></a></li>
+<li type="circle">junitparams.internal.<a href="junitparams/internal/ParameterisedTestMethodRunner.html" title="class in junitparams.internal"><span class="typeNameLink">ParameterisedTestMethodRunner</span></a></li>
+<li type="circle">org.junit.runner.Runner (implements org.junit.runner.Describable)
+<ul>
+<li type="circle">org.junit.runners.ParentRunner&lt;T&gt; (implements org.junit.runner.manipulation.Filterable, org.junit.runner.manipulation.Sortable)
+<ul>
+<li type="circle">org.junit.runners.BlockJUnit4ClassRunner
+<ul>
+<li type="circle">junitparams.<a href="junitparams/JUnitParamsRunner.html" title="class in junitparams"><span class="typeNameLink">JUnitParamsRunner</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li type="circle">org.junit.runners.model.Statement
+<ul>
+<li type="circle">junitparams.internal.<a href="junitparams/internal/InvokeParameterisedMethod.html" title="class in junitparams.internal"><span class="typeNameLink">InvokeParameterisedMethod</span></a></li>
+</ul>
+</li>
+<li type="circle">junitparams.internal.<a href="junitparams/internal/TestMethod.html" title="class in junitparams.internal"><span class="typeNameLink">TestMethod</span></a></li>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Throwable</span></a> (implements java.io.<a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Exception</span></a>
+<ul>
+<li type="circle">junitparams.converters.<a href="junitparams/converters/ConversionFailedException.html" title="class in junitparams.converters"><span class="typeNameLink">ConversionFailedException</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li type="circle">junitparams.internal.<a href="junitparams/internal/Utils.html" title="class in junitparams.internal"><span class="typeNameLink">Utils</span></a></li>
+</ul>
+</li>
+</ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">junitparams.mappers.<a href="junitparams/mappers/DataMapper.html" title="interface in junitparams.mappers"><span class="typeNameLink">DataMapper</span></a></li>
+<li type="circle">junitparams.converters.<a href="junitparams/converters/ParamConverter.html" title="interface in junitparams.converters"><span class="typeNameLink">ParamConverter</span></a>&lt;T&gt;</li>
+</ul>
+<h2 title="Annotation Type Hierarchy">Annotation Type Hierarchy</h2>
+<ul>
+<li type="circle">junitparams.converters.<a href="junitparams/converters/ConvertParam.html" title="annotation in junitparams.converters"><span class="typeNameLink">ConvertParam</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
+<li type="circle">junitparams.<a href="junitparams/FileParameters.html" title="annotation in junitparams"><span class="typeNameLink">FileParameters</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
+<li type="circle">junitparams.<a href="junitparams/Parameters.html" title="annotation in junitparams"><span class="typeNameLink">Parameters</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
+</ul>
+</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 class="navBarCell1Rev">Tree</li>
+<li><a href="deprecated-list.html">Deprecated</a></li>
+<li><a href="index-all.html">Index</a></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?overview-tree.html" target="_top">Frames</a></li>
+<li><a href="overview-tree.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>
diff --git a/apidocs/package-list b/apidocs/package-list
new file mode 100644
index 0000000..2a5211e
--- /dev/null
+++ b/apidocs/package-list
@@ -0,0 +1,4 @@
+junitparams
+junitparams.converters
+junitparams.internal
+junitparams.mappers
diff --git a/apidocs/resources/inherit.gif b/apidocs/resources/inherit.gif
new file mode 100644
index 0000000..c814867
--- /dev/null
+++ b/apidocs/resources/inherit.gif
Binary files differ
diff --git a/apidocs/stylesheet.css b/apidocs/stylesheet.css
new file mode 100644
index 0000000..6ea9e51
--- /dev/null
+++ b/apidocs/stylesheet.css
@@ -0,0 +1,29 @@
+/* Javadoc style sheet */
+
+/* Define colors, fonts and other style attributes here to override the defaults */
+
+/* Page background color */
+body { background-color: #FFFFFF; color:#000000 }
+
+/* Headings */
+h1 { font-size: 145% }
+
+/* Table colors */
+.TableHeadingColor { background: #CCCCFF; color:#000000 } /* Dark mauve */
+.TableSubHeadingColor { background: #EEEEFF; color:#000000 } /* Light mauve */
+.TableRowColor { background: #FFFFFF; color:#000000 } /* White */
+
+/* Font used in left-hand frame lists */
+.FrameTitleFont { font-size: 100%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
+.FrameHeadingFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
+.FrameItemFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
+
+/* Navigation bar fonts and colors */
+.NavBarCell1 { background-color:#EEEEFF; color:#000000} /* Light mauve */
+.NavBarCell1Rev { background-color:#00008B; color:#FFFFFF} /* Dark Blue */
+.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;color:#000000;}
+.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;color:#FFFFFF;}
+
+.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000}
+.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000}
+
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..d90ef56
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,208 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>oss-parent</artifactId>
+ <groupId>org.sonatype.oss</groupId>
+ <version>9</version>
+ </parent>
+ <groupId>pl.pragmatists</groupId>
+ <artifactId>JUnitParams</artifactId>
+ <version>1.0.5</version>
+ <packaging>jar</packaging>
+ <name>JUnitParams</name>
+ <description>Better parameterised tests for JUnit</description>
+ <url>https://github.com/Pragmatists/JUnitParams</url>
+ <developers>
+ <developer>
+ <id>pawel.lipinski</id>
+ <name>Pawel Lipinski</name>
+ <email>pawel.lipinski@pragmatists.pl</email>
+ <organization>Pragmatists</organization>
+ <organizationUrl>http://pragmatists.pl</organizationUrl>
+ </developer>
+ </developers>
+ <licenses>
+ <license>
+ <name>Apache 2</name>
+ <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+ <distribution>repo</distribution>
+ <comments>A business-friendly OSS license</comments>
+ </license>
+ </licenses>
+ <issueManagement>
+ <system>GitHub Issues</system>
+ <url>https://github.com/Pragmatists/JUnitParams/issues</url>
+ </issueManagement>
+ <scm>
+ <connection>scm:git:git://github.com/Pragmatists/JUnitParams.git</connection>
+ <developerConnection>scm:git:git@github.com:Pragmatists/JUnitParams.git</developerConnection>
+ <url>https://github.com/Pragmatists/JUnitParams</url>
+ <tag>JUnitParams-1.0.5</tag>
+ </scm>
+ <organization>
+ <name>Pragmatists</name>
+ <url>http://pragmatists.pl</url>
+ </organization>
+ <distributionManagement>
+ <snapshotRepository>
+ <id>ossrh</id>
+ <url>https://oss.sonatype.org/content/repositories/snapshots</url>
+ </snapshotRepository>
+ <repository>
+ <id>ossrh</id>
+ <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
+ </repository>
+ </distributionManagement>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.sonatype.plugins</groupId>
+ <artifactId>nexus-staging-maven-plugin</artifactId>
+ <version>1.6.6</version>
+ <extensions>true</extensions>
+ <configuration>
+ <serverId>ossrh</serverId>
+ <nexusUrl>https://oss.sonatype.org/</nexusUrl>
+ <autoReleaseAfterClose>false</autoReleaseAfterClose>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ <version>2.4</version>
+ <executions>
+ <execution>
+ <id>attach-sources</id>
+ <goals>
+ <goal>jar-no-fork</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>3.3</version>
+ <configuration>
+ <source>1.6</source>
+ <target>1.6</target>
+ <encoding>UTF-8</encoding>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.10.3</version>
+ <configuration>
+ <sourcepath>${project.basedir}/src/main/javadoc;${project.basedir}/src/main/java</sourcepath>
+ <reportOutputDirectory>${project.basedir}</reportOutputDirectory>
+ <docfilessubdirs>false</docfilessubdirs>
+ <additionalparam>${javadoc-parameters}</additionalparam>
+ </configuration>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.17</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.6</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Bundle-ManifestVersion>2</Bundle-ManifestVersion>
+ <Bundle-SymbolicName>pl.pragmatists.JUnitParams</Bundle-SymbolicName>
+ <Bundle-Version>${project.version}</Bundle-Version>
+ <Export-Package>junitparams;version="${project.version}";uses:="org.junit"</Export-Package>
+ <Import-Package>org.junit;bundle-version="4.11.0"</Import-Package>
+ </manifestEntries>
+ </archive>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>animal-sniffer-maven-plugin</artifactId>
+ <version>1.14</version>
+ <executions>
+ <execution>
+ <id>check-java16-sun</id>
+ <phase>test</phase>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <signature>
+ <groupId>org.codehaus.mojo.signature</groupId>
+ <artifactId>java16</artifactId>
+ <version>1.1</version>
+ </signature>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-release-plugin</artifactId>
+ <version>2.5.3</version>
+ <configuration>
+ <releaseProfiles>release</releaseProfiles>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <profiles>
+ <profile>
+ <id>release</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-gpg-plugin</artifactId>
+ <version>1.6</version>
+ <executions>
+ <execution>
+ <id>sign-artifacts</id>
+ <phase>verify</phase>
+ <goals>
+ <goal>sign</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>java8</id>
+ <activation>
+ <jdk>1.8</jdk>
+ </activation>
+ <properties>
+ <javadoc-parameters>-Xdoclint:none</javadoc-parameters>
+ </properties>
+ </profile>
+ </profiles>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.12</version>
+ </dependency>
+ <dependency>
+ <groupId>org.assertj</groupId>
+ <artifactId>assertj-core</artifactId>
+ <version>1.7.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/src/main/java/junitparams/FileParameters.java b/src/main/java/junitparams/FileParameters.java
new file mode 100644
index 0000000..1649b58
--- /dev/null
+++ b/src/main/java/junitparams/FileParameters.java
@@ -0,0 +1,43 @@
+package junitparams;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import junitparams.custom.CustomParameters;
+import junitparams.custom.FileParametersProvider;
+import junitparams.mappers.DataMapper;
+import junitparams.mappers.IdentityMapper;
+
+/**
+ * Denotes that parameters for a annotated test method should be taken from an
+ * external resource.
+ *
+ * @author Pawel Lipinski
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.METHOD)
+@CustomParameters(provider = FileParametersProvider.class)
+public @interface FileParameters {
+
+ /**
+ * File name (with full path) of the file with data.
+ */
+ String value();
+
+ /**
+ * The mapper which knows how to get the data from the external resource and
+ * turn it into a valid set of parameters. By default it is an
+ * IdentityMapper, meaning the resource has exactly the same format as the
+ * <p/>
+ * &#064;Parameters annotation value (when passed as String), being CSV.
+ */
+ Class<? extends DataMapper> mapper() default IdentityMapper.class;
+
+ /**
+ * Encoding to use when reading file contents.
+ */
+ String encoding() default "UTF-8";
+
+}
diff --git a/src/main/java/junitparams/JUnitParamsRunner.java b/src/main/java/junitparams/JUnitParamsRunner.java
new file mode 100644
index 0000000..fa37257
--- /dev/null
+++ b/src/main/java/junitparams/JUnitParamsRunner.java
@@ -0,0 +1,501 @@
+package junitparams;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.junit.runner.Description;
+import org.junit.runner.manipulation.Filter;
+import org.junit.runner.manipulation.NoTestsRemainException;
+import org.junit.runner.notification.RunNotifier;
+import org.junit.runners.BlockJUnit4ClassRunner;
+import org.junit.runners.model.FrameworkMethod;
+import org.junit.runners.model.InitializationError;
+import org.junit.runners.model.Statement;
+
+import junitparams.internal.ParameterisedTestClassRunner;
+import junitparams.internal.ParametrizedTestMethodsFilter;
+import junitparams.internal.TestMethod;
+
+/**
+ * <h1>JUnitParams</h1><br>
+ * <p>
+ * This is a JUnit runner for parameterised tests that don't suck. Annotate your test class with
+ * <code>&#064;RunWith(JUnitParamsRunner.class)</code> and place
+ * <code>&#064;Parameters</code> annotation on each test method which requires
+ * parameters. Nothing more needed - no special structure, no dirty tricks.
+ * </p>
+ * <br>
+ * <h2>Contents</h2> <b> <a href="#p1">1. Parameterising tests</a><br>
+ * &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#a">a. Parameterising tests via values
+ * in annotation</a><br>
+ * &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#b">b. Parameterising tests via a
+ * method that returns parameter values</a><br>
+ * &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#c">c. Parameterising tests via
+ * external classes</a><br>
+ * &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#d">d. Loading parameters from files</a><br>
+ * &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#d">e. Converting parameter values</a><br>
+ * <a href="#p2">2. Usage with Spring</a><br>
+ * <a href="#p3">3. Other options</a><br>
+ * </b><br>
+ * <h3 id="p1">1. Parameterising tests</h3> Parameterised tests are a great way
+ * to limit the amount of test code when you need to test the same code under
+ * different conditions. Ever tried to do it with standard JUnit tools like
+ * Parameterized runner or Theories? I always thought they're so awkward to use,
+ * that I've written this library to help all those out there who'd like to have
+ * a handy tool.
+ *
+ * So here we go. There are a few different ways to use JUnitParams, I will try
+ * to show you all of them here.
+ *
+ * <h4 id="a">a. Parameterising tests via values in annotation</h4>
+ * <p>
+ * You can parameterise your test with values defined in annotations. Just pass
+ * sets of test method argument values as an array of Strings, where each string
+ * contains the argument values separated by a comma or a pipe "|".
+ *
+ * <pre>
+ * &#064;Test
+ * &#064;Parameters({ "20, Tarzan", "0, Jane" })
+ * public void cartoonCharacters(int yearsInJungle, String person) {
+ * ...
+ * }
+ * </pre>
+ *
+ * Sometimes you may be interested in passing enum values as parameters, then
+ * you can just write them as Strings like this:
+ *
+ * <pre>
+ * &#064;Test
+ * &#064;Parameters({ &quot;FROM_JUNGLE&quot;, &quot;FROM_CITY&quot; })
+ * public void passEnumAsParam(PersonType person) {
+ * }
+ * </pre>
+ *
+ * <h4 id="b">b. Parameterising tests via a method that returns parameter values
+ * </h4>
+ * <p>
+ * Obviously passing parameters as strings is handy only for trivial situations,
+ * that's why for normal cases you have a method that gives you a collection of
+ * parameters:
+ *
+ * <pre>
+ * &#064;Test
+ * &#064;Parameters(method = "cartoonCharacters")
+ * public void cartoonCharacters(int yearsInJungle, String person) {
+ * ...
+ * }
+ * private Object[] cartoonCharacters() {
+ * return $(
+ * $(0, "Tarzan"),
+ * $(20, "Jane")
+ * );
+ * }
+ * </pre>
+ *
+ * Where <code>$(...)</code> is a static method defined in
+ * <code>JUnitParamsRunner</code> class, which returns its parameters as a
+ * <code>Object[]</code> array. Just a shortcut, so that you don't need to write the ugly <code>new Object[] {}</code> kind of stuff.
+ *
+ * <p>
+ * <code>method</code> can take more than one method name - you can pass as many
+ * of them as you want, separated by commas. This enables you to divide your
+ * test cases e.g. into categories.
+ * <pre>
+ * &#064;Test
+ * &#064;Parameters(method = "menCharactes, womenCharacters")
+ * public void cartoonCharacters(int yearsInJungle, String person) {
+ * ...
+ * }
+ * private Object[] menCharacters() {
+ * return $(
+ * $(20, "Tarzan"),
+ * $(2, "Chip"),
+ * $(2, "Dale")
+ * );
+ * }
+ * private Object[] womenCharacters() {
+ * return $(
+ * $(0, "Jane"),
+ * $(18, "Pocahontas")
+ * );
+ * }
+ * </pre>
+ * <p>
+ * The <code>method</code> argument of a <code>@Parameters</code> annotation can
+ * be ommited if the method that provides parameters has a the same name as the
+ * test, but prefixed by <code>parametersFor</code>. So our example would look
+ * like this:
+ *
+ * <pre>
+ * &#064;Test
+ * &#064;Parameters
+ * public void cartoonCharacters(int yearsInJungle, String person) {
+ * ...
+ * }
+ * private Object[] parametersForCartoonCharacters() {
+ * return $(
+ * $(0, "Tarzan"),
+ * $(20, "Jane")
+ * );
+ * }
+ * </pre>
+ *
+ * <p>
+ * If you don't like returning untyped values and arrays, you can equally well
+ * return any Iterable of concrete objects:
+ *
+ * <pre>
+ * &#064;Test
+ * &#064;Parameters
+ * public void cartoonCharacters(Person character) {
+ * ...
+ * }
+ * private List&lt;Person&gt; parametersForCartoonCharacters() {
+ * return Arrays.asList(
+ * new Person(0, "Tarzan"),
+ * new Person(20, "Jane")
+ * );
+ * }
+ * </pre>
+ *
+ * If we had more than just two Person's to make, we would get redundant,
+ * so JUnitParams gives you a simplified way of creating objects to be passed as
+ * params. You can omit the creation of the objects and just return their constructor
+ * argument values like this:
+ *
+ * <pre>
+ * &#064;Test
+ * &#064;Parameters
+ * public void cartoonCharacters(Person character) {
+ * ...
+ * }
+ * private List&lt;?&gt; parametersForCartoonCharacters() {
+ * return Arrays.asList(
+ * $(0, "Tarzan"),
+ * $(20, "Jane")
+ * );
+ * }
+ * </pre>
+ * And JUnitParams will invoke the appropriate constructor (<code>new Person(int age, String name)</code> in this case.)
+ * <b>If you want to use it, watch out! Automatic refactoring of constructor
+ * arguments won't be working here!</b>
+ *
+ * <p>
+ * You can also define methods that provide parameters in subclasses and use
+ * them in test methods defined in superclasses, as well as redefine data
+ * providing methods in subclasses to be used by test method defined in a
+ * superclass. That you can doesn't mean you should. Inheritance in tests is
+ * usually a code smell (readability hurts), so make sure you know what you're
+ * doing.
+ *
+ * <h4 id="c">c. Parameterising tests via external classes</h4>
+ * <p>
+ * For more complex cases you may want to externalise the method that provides
+ * parameters or use more than one method to provide parameters to a single test
+ * method. You can easily do that like this:
+ *
+ * <pre>
+ * &#064;Test
+ * &#064;Parameters(source = CartoonCharactersProvider.class)
+ * public void testReadyToLiveInJungle(int yearsInJungle, String person) {
+ * ...
+ * }
+ * ...
+ * class CartoonCharactersProvider {
+ * public static Object[] provideCartoonCharactersManually() {
+ * return $(
+ * $(0, "Tarzan"),
+ * $(20, "Jane")
+ * );
+ * }
+ * public static Object[] provideCartoonCharactersFromDB() {
+ * return cartoonsRepository.loadCharacters();
+ * }
+ * }
+ * </pre>
+ *
+ * All methods starting with <code>provide</code> are used as parameter
+ * providers.
+ *
+ * <p>
+ * Sometimes though you may want to use just one or few methods of some class to
+ * provide you parameters. This can be done as well like this:
+ *
+ * <pre>
+ * &#064;Test
+ * &#064;Parameters(source = CartoonCharactersProvider.class, method = "cinderellaCharacters,snowwhiteCharacters")
+ * public void testPrincesses(boolean isAPrincess, String characterName) {
+ * ...
+ * }
+ * </pre>
+ *
+ *
+ * <h4 id="d">d. Loading parameters from files</h4> You may be interested in
+ * loading parameters from a file. This is very easy if it's a CSV file with
+ * columns in the same order as test method parameters:
+ *
+ * <pre>
+ * &#064;Test
+ * &#064;FileParameters("cartoon-characters.csv")
+ * public void shouldSurviveInJungle(int yearsInJungle, String person) {
+ * ...
+ * }
+ * </pre>
+ *
+ * But if you want to process the data from the CSV file a bit to use it in the
+ * test method arguments, you
+ * need to use an <code>IdentityMapper</code>. Look:
+ *
+ * <pre>
+ * &#064;Test
+ * &#064;FileParameters(value = "cartoon-characters.csv", mapper = CartoonMapper.class)
+ * public void shouldSurviveInJungle(Person person) {
+ * ...
+ * }
+ *
+ * public class CartoonMapper extends IdentityMapper {
+ * &#064;Override
+ * public Object[] map(Reader reader) {
+ * Object[] map = super.map(reader);
+ * List&lt;Object[]&gt; result = new LinkedList&lt;Object[]&gt;();
+ * for (Object lineObj : map) {
+ * String line = (String) lineObj; // line in a format just like in the file
+ * result.add(new Object[] { ..... }); // some format edible by the test method
+ * }
+ * return result.toArray();
+ * }
+ *
+ * }
+ * </pre>
+ *
+ * A CSV files with a header are also supported with the use of <code>CsvWithHeaderMapper</code> class.
+ *
+ * You may also want to use a completely different file format, like excel or
+ * something. Then just parse it yourself:
+ *
+ * <pre>
+ * &#064;Test
+ * &#064;FileParameters(value = "cartoon-characters.xsl", mapper = ExcelCartoonMapper.class)
+ * public void shouldSurviveInJungle(Person person) {
+ * ...
+ * }
+ *
+ * public class CartoonMapper implements DataMapper {
+ * &#064;Override
+ * public Object[] map(Reader fileReader) {
+ * ...
+ * }
+ * }
+ * </pre>
+ *
+ * As you see, you don't need to open or close the file. Just read it from the
+ * reader and parse it the way you wish.
+ *
+ * By default the file is loaded from the file system, relatively to where you start the tests from. But you can also use a resource from
+ * the classpath by prefixing the file name with <code>classpath:</code>
+ *
+ * <h4 id="e">e. Converting parameter values</h4>
+ * Sometimes you want to pass some parameter in one form, but use it in the test in another. Dates are a good example. It's handy to
+ * specify them in the parameters as a String like "2013.01.01", but you'd like to use a Jodatime's LocalDate or JDKs Date in the test
+ * without manually converting the value in the test. This is where the converters become handy. It's enough to annotate a parameter with
+ * a <code>&#064;ConvertParam</code> annotation, give it a converter class and possibly some options (like date format in this case) and
+ * you're done. Here's an example:
+ * <pre>
+ * &#064;Test
+ * &#064;Parameters({ "01.12.2012, A" })
+ * public void convertMultipleParams(
+ * &#064;ConvertParam(value = StringToDateConverter.class, options = "dd.MM.yyyy") Date date,
+ * &#064;ConvertParam(LetterToASCIIConverter.class) int num) {
+ *
+ * Calendar calendar = Calendar.getInstance();
+ * calendar.setTime(date);
+ *
+ * assertEquals(2012, calendar.get(Calendar.YEAR));
+ * assertEquals(11, calendar.get(Calendar.MONTH));
+ * assertEquals(1, calendar.get(Calendar.DAY_OF_MONTH));
+ *
+ * assertEquals(65, num);
+ * }
+ * </pre>
+ *
+ * <h3 id="p2">2. Usage with Spring</h3>
+ * <p>
+ * You can easily use JUnitParams together with Spring. The only problem is that
+ * Spring's test framework is based on JUnit runners, and JUnit allows only one
+ * runner to be run at once. Which would normally mean that you could use only
+ * one of Spring or JUnitParams. Luckily we can cheat Spring a little by adding
+ * this to your test class:
+ *
+ * <pre>
+ * private TestContextManager testContextManager;
+ *
+ * &#064;Before
+ * public void init() throws Exception {
+ * this.testContextManager = new TestContextManager(getClass());
+ * this.testContextManager.prepareTestInstance(this);
+ * }
+ * </pre>
+ *
+ * This lets you use in your tests anything that Spring provides in its test
+ * framework.
+ *
+ * <h3 id="p3">3. Other options</h3>
+ * <h4> Enhancing test case description</h4>
+ * You can use <code>TestCaseName</code> annotation to provide template of the individual test case name:
+ * <pre>
+ * &#064;TestCaseName("factorial({0}) = {1}")
+ * &#064;Parameters({ "1,1"})
+ * public void fractional_test(int argument, int result) { }
+ * </pre>
+ * Will be displayed as 'fractional(1)=1'
+ * <h4>Customizing how parameter objects are shown in IDE</h4>
+ * <p>
+ * Tests show up in your IDE as a tree with test class name being the root, test
+ * methods being nodes, and parameter sets being the leaves. If you want to
+ * customize the way an parameter object is shown, create a <b>toString</b>
+ * method for it.
+ * <h4>Empty parameter sets</h4>
+ * <p>
+ * If you create a parameterised test, but won't give it any parameter sets, it
+ * will be ignored and you'll be warned about it.
+ * <h4>Parameterised test with no parameters</h4>
+ * <p>
+ * If for some reason you want to have a normal non-parameterised method to be
+ * annotated with @Parameters, then fine, you can do it. But it will be ignored
+ * then, since there won't be any params for it, and parameterised tests need
+ * parameters to execute properly (parameters are a part of test setup, right?)
+ * <h4>JUnit Rules</h4>
+ * <p>
+ * The runner for parameterised test is trying to keep all the @Rule's running,
+ * but if something doesn't work - let me know. It's pretty tricky, since the
+ * rules in JUnit are chained, but the chain is kind of... unstructured, so
+ * sometimes I need to guess how to call the next element in chain. If you have
+ * your own rule, make sure it has a field of type Statement which is the next
+ * statement in chain to call.
+ * <h4>Test inheritance</h4>
+ * <p>
+ * Although usually a bad idea, since it makes tests less readable, sometimes
+ * inheritance is the best way to remove repetitions from tests. JUnitParams is
+ * fine with inheritance - you can define a common test in the superclass, and
+ * have separate parameters provider methods in the subclasses. Also the other
+ * way around is ok, you can define parameter providers in superclass and have
+ * tests in subclasses uses them as their input.
+ *
+ * @author Pawel Lipinski (lipinski.pawel@gmail.com)
+ */
+public class JUnitParamsRunner extends BlockJUnit4ClassRunner {
+
+ private ParametrizedTestMethodsFilter parametrizedTestMethodsFilter = new ParametrizedTestMethodsFilter(this);
+ private ParameterisedTestClassRunner parameterisedRunner;
+ private Description description;
+
+ public JUnitParamsRunner(Class<?> klass) throws InitializationError {
+ super(klass);
+ parameterisedRunner = new ParameterisedTestClassRunner(getTestClass());
+ }
+
+ @Override
+ public void filter(Filter filter) throws NoTestsRemainException {
+ super.filter(filter);
+ this.parametrizedTestMethodsFilter = new ParametrizedTestMethodsFilter(this,filter);
+ }
+
+ @Override
+ protected void collectInitializationErrors(List<Throwable> errors) {
+ super.validateFields(errors);
+ for (Throwable throwable : errors)
+ throwable.printStackTrace();
+ }
+
+ @Override
+ protected void runChild(FrameworkMethod method, RunNotifier notifier) {
+ if (handleIgnored(method, notifier))
+ return;
+
+ TestMethod testMethod = parameterisedRunner.testMethodFor(method);
+ if (parameterisedRunner.shouldRun(testMethod)){
+ parameterisedRunner.runParameterisedTest(testMethod, methodBlock(method), notifier);
+ }
+ else{
+ verifyMethodCanBeRunByStandardRunner(testMethod);
+ super.runChild(method, notifier);
+ }
+ }
+
+ private void verifyMethodCanBeRunByStandardRunner(TestMethod testMethod) {
+ List<Throwable> errors = new ArrayList<Throwable>();
+ testMethod.frameworkMethod().validatePublicVoidNoArg(false, errors);
+ if (!errors.isEmpty()) {
+ throw new RuntimeException(errors.get(0));
+ }
+ }
+
+ private boolean handleIgnored(FrameworkMethod method, RunNotifier notifier) {
+ TestMethod testMethod = parameterisedRunner.testMethodFor(method);
+ if (testMethod.isIgnored())
+ notifier.fireTestIgnored(describeMethod(method));
+
+ return testMethod.isIgnored();
+ }
+
+ @Override
+ protected List<FrameworkMethod> computeTestMethods() {
+ return parameterisedRunner.computeFrameworkMethods();
+ }
+
+ @Override
+ protected Statement methodInvoker(FrameworkMethod method, Object test) {
+ Statement methodInvoker = parameterisedRunner.parameterisedMethodInvoker(method, test);
+ if (methodInvoker == null)
+ methodInvoker = super.methodInvoker(method, test);
+
+ return methodInvoker;
+ }
+
+ @Override
+ public Description getDescription() {
+ if (description == null) {
+ description = Description.createSuiteDescription(getName(), getTestClass().getAnnotations());
+ List<FrameworkMethod> resultMethods = getListOfMethods();
+
+ for (FrameworkMethod method : resultMethods)
+ description.addChild(describeMethod(method));
+ }
+
+ return description;
+ }
+
+ private List<FrameworkMethod> getListOfMethods() {
+ List<FrameworkMethod> frameworkMethods = parameterisedRunner.returnListOfMethods();
+ return parametrizedTestMethodsFilter.filteredMethods(frameworkMethods);
+ }
+
+ public Description describeMethod(FrameworkMethod method) {
+ Description child = parameterisedRunner.describeParameterisedMethod(method);
+
+ if (child == null)
+ child = describeChild(method);
+
+ return child;
+ }
+
+ /**
+ * Shortcut for returning an array of objects. All parameters passed to this
+ * method are returned in an <code>Object[]</code> array.
+ *
+ * Should not be used to create var-args arrays, because of the way Java resolves
+ * var-args for objects and primitives.
+ *
+ * @deprecated This method is no longer supported. It might be removed in future
+ * as it does not support all cases (especially var-args). Create arrays using
+ * <code>new Object[]{}</code> instead.
+ *
+ * @param params
+ * Values to be returned in an <code>Object[]</code> array.
+ * @return Values passed to this method.
+ */
+ @Deprecated
+ public static Object[] $(Object... params) {
+ return params;
+ }
+}
diff --git a/src/main/java/junitparams/Parameters.java b/src/main/java/junitparams/Parameters.java
new file mode 100644
index 0000000..2a7b21a
--- /dev/null
+++ b/src/main/java/junitparams/Parameters.java
@@ -0,0 +1,49 @@
+package junitparams;
+
+import javax.lang.model.type.NullType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/**
+ * THE annotation for the test parameters. Use it to say that a method takes
+ * some parameters and define how to obtain them.
+ *
+ * @author Pawel Lipinski
+ */
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Parameters {
+ /**
+ * Parameter values defined as a String array. Each element in the array is
+ * a full parameter set, comma-separated or pipe-separated ('|').
+ * The values must match the method parameters in order and type.
+ * Whitespace characters are trimmed (use source class or method if You need to provide such parameters)
+ *
+ * Example: <code>@Parameters({
+ * "1, joe, 26.4, true",
+ * "2, angie, 37.2, false"})</code>
+ */
+ String[] value() default {};
+
+ /**
+ * Parameter values defined externally. The specified class must have at
+ * least one public static method starting with <code>provide</code>
+ * returning <code>Object[]</code>. All such methods are used, so you can
+ * group your examples. The resulting array should contain parameter sets in
+ * its elements. Each parameter set must be another Object[] array, which
+ * contains parameter values in its elements.
+ * Example: <code>@Parameters(source = PeopleProvider.class)</code>
+ */
+ Class<?> source() default NullType.class;
+
+ /**
+ * Parameter values returned by a method within the test class. This way you
+ * don't need additional classes and the test code may be a bit cleaner. The
+ * format of the data returned by the method is the same as for the source
+ * annotation class.
+ * Example: <code>@Parameters(method = "examplaryPeople")</code>
+ *
+ * You can use multiple methods to provide parameters - use comma to do it:
+ * Example: <code>@Parameters(method = "womenParams, menParams")</code>
+ */
+ String method() default "";
+}
diff --git a/src/main/java/junitparams/converters/ConversionFailedException.java b/src/main/java/junitparams/converters/ConversionFailedException.java
new file mode 100644
index 0000000..2a96c0c
--- /dev/null
+++ b/src/main/java/junitparams/converters/ConversionFailedException.java
@@ -0,0 +1,7 @@
+package junitparams.converters;
+
+public class ConversionFailedException extends Exception {
+ public ConversionFailedException(String message) {
+ super(message);
+ }
+}
diff --git a/src/main/java/junitparams/converters/ConvertParam.java b/src/main/java/junitparams/converters/ConvertParam.java
new file mode 100644
index 0000000..f452943
--- /dev/null
+++ b/src/main/java/junitparams/converters/ConvertParam.java
@@ -0,0 +1,25 @@
+package junitparams.converters;
+
+import java.lang.annotation.*;
+
+/**
+ *
+ * Defines a converter which should be used to convert a parameter to expected
+ * type.
+ *
+ * @deprecated use {@link Param}
+ * @author Pawel Lipinski
+ */
+
+@Retention(RetentionPolicy.RUNTIME)
+@Deprecated
+public @interface ConvertParam {
+
+ Class<? extends ParamConverter<?>> value();
+
+ /**
+ * Options / settings to be used by the converter class
+ */
+ String options() default "";
+
+}
diff --git a/src/main/java/junitparams/converters/Converter.java b/src/main/java/junitparams/converters/Converter.java
new file mode 100644
index 0000000..1ef9c1b
--- /dev/null
+++ b/src/main/java/junitparams/converters/Converter.java
@@ -0,0 +1,26 @@
+package junitparams.converters;
+
+import java.lang.annotation.Annotation;
+
+/**
+ * Defines the logic to convert parameter annotated with A to type T. Converter must have a public no-args constructor. Configuration is
+ * done via {@link Converter#initialize(java.lang.annotation.Annotation)} method<br>
+ * Inspired by javax.validation.ConstraintValidator
+ *
+ * @param <A> type of annotation mentioning this converter
+ * @param <T> conversion target type
+ */
+public interface Converter<A extends Annotation, T> {
+
+ /**
+ * Initializes this converter - you can read your annotation config here.
+ */
+ void initialize(A annotation);
+
+ /**
+ * Converts param to desired type.
+ *
+ * @throws ConversionFailedException
+ */
+ T convert(Object param) throws ConversionFailedException;
+}
diff --git a/src/main/java/junitparams/converters/Nullable.java b/src/main/java/junitparams/converters/Nullable.java
new file mode 100644
index 0000000..c959e9a
--- /dev/null
+++ b/src/main/java/junitparams/converters/Nullable.java
@@ -0,0 +1,36 @@
+
+package junitparams.converters;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import junitparams.Parameters;
+
+/**
+ * Allows test null values defined as a String array in {@link Parameters}
+ *
+ * @author Peter Jurkovic
+ *
+ * <p>
+ * Example:
+ * <pre>
+ * {@literal @}Test
+ * {@literal @}Parameters({" null "})
+ * public void shouldBeNull({@literal @}Nullable String value) {
+ * assertThat(value).isNull();
+ * }
+ * </pre>
+ * </p>
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Param(converter = NullableConverter.class)
+@Target({ElementType.ANNOTATION_TYPE, ElementType.PARAMETER})
+public @interface Nullable {
+
+ /**
+ * Defines parameter value which will be replaced by Java null
+ */
+ String nullIdentifier() default "null";
+}
diff --git a/src/main/java/junitparams/converters/NullableConverter.java b/src/main/java/junitparams/converters/NullableConverter.java
new file mode 100644
index 0000000..98e9038
--- /dev/null
+++ b/src/main/java/junitparams/converters/NullableConverter.java
@@ -0,0 +1,19 @@
+package junitparams.converters;
+
+
+public class NullableConverter implements Converter<Nullable, String>{
+
+ private String nullIdentifier;
+
+ public void initialize(Nullable annotation) {
+ nullIdentifier = annotation.nullIdentifier() == null ? "null" : annotation.nullIdentifier();
+ }
+
+ public String convert(Object param) throws ConversionFailedException {
+ if(param instanceof String && ((String)param).trim().equalsIgnoreCase(nullIdentifier)){
+ return null;
+ }
+ return (String)param;
+ }
+
+} \ No newline at end of file
diff --git a/src/main/java/junitparams/converters/Param.java b/src/main/java/junitparams/converters/Param.java
new file mode 100644
index 0000000..e8ab65d
--- /dev/null
+++ b/src/main/java/junitparams/converters/Param.java
@@ -0,0 +1,29 @@
+package junitparams.converters;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Annotates parametrized test parameter with information about {@link Converter} that should be used for parameter conversion.
+ * <p>
+ * Can also be used to create custom annotations.<br>
+ * example:
+ * <pre>
+ * &#064;Retention(RetentionPolicy.RUNTIME)
+ * &#064;Target(ElementType.PARAMETER)
+ * &#064;Param(converter = FormattedDateConverter.class)
+ * public &#064;interface DateParam {
+ *
+ * String format() default "dd.MM.yyyy";
+ * }
+ * </pre>
+ * </p>
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.ANNOTATION_TYPE, ElementType.PARAMETER})
+public @interface Param {
+
+ Class<? extends Converter> converter();
+}
diff --git a/src/main/java/junitparams/converters/ParamAnnotation.java b/src/main/java/junitparams/converters/ParamAnnotation.java
new file mode 100644
index 0000000..0aca51e
--- /dev/null
+++ b/src/main/java/junitparams/converters/ParamAnnotation.java
@@ -0,0 +1,32 @@
+package junitparams.converters;
+
+import java.lang.annotation.Annotation;
+
+public class ParamAnnotation {
+
+ public static boolean matches(Annotation annotation) {
+ return getParam(annotation) != null;
+ }
+
+ public static Object convert(Annotation annotation, Object param) throws ConversionFailedException {
+ return converter(annotation).convert(param);
+ }
+
+ private static Param getParam(Annotation annotation) {
+ if (annotation.annotationType().isAssignableFrom(Param.class)) {
+ return (Param) annotation;
+ }
+ return annotation.annotationType().getAnnotation(Param.class);
+ }
+
+ private static Converter converter(Annotation annotation) {
+ Converter converter = null;
+ try {
+ converter = getParam(annotation).converter().newInstance();
+ } catch (Exception e) {
+ throw new RuntimeException("Your Converter class must have a public no-arg constructor!", e);
+ }
+ converter.initialize(annotation);
+ return converter;
+ }
+}
diff --git a/src/main/java/junitparams/converters/ParamConverter.java b/src/main/java/junitparams/converters/ParamConverter.java
new file mode 100644
index 0000000..4080ff0
--- /dev/null
+++ b/src/main/java/junitparams/converters/ParamConverter.java
@@ -0,0 +1,16 @@
+package junitparams.converters;
+
+/**
+ *
+ * Implement this interface if you want to convert params from some
+ * representation to the type expected by your test method's parameter.
+ *
+ * &lt;T&gt; is the expected parameter type.
+ *
+ * @deprecated use {@link Converter}
+ * @author Pawel Lipinski
+ */
+@Deprecated
+public interface ParamConverter<T> {
+ T convert(Object param, String options) throws ConversionFailedException;
+}
diff --git a/src/main/java/junitparams/custom/CustomParameters.java b/src/main/java/junitparams/custom/CustomParameters.java
new file mode 100644
index 0000000..06fd4a4
--- /dev/null
+++ b/src/main/java/junitparams/custom/CustomParameters.java
@@ -0,0 +1,25 @@
+package junitparams.custom;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+
+/**
+ * Tells JUnitParams which {@link ParametersProvider} to use for parameters generation.<br>
+ * Use instead of {@link junitparams.Parameters} annotation.
+ * <p>
+ * Can also be used to create custom annotations.<br>
+ * Check {@link junitparams.FileParameters}, {@link FileParametersProvider} and CustomParametersProviderTest for usage examples.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.METHOD, ElementType.ANNOTATION_TYPE})
+public @interface CustomParameters {
+
+ /**
+ * @return Your custom parameters provider class.
+ */
+ Class<? extends ParametersProvider> provider();
+
+}
diff --git a/src/main/java/junitparams/custom/FileParametersProvider.java b/src/main/java/junitparams/custom/FileParametersProvider.java
new file mode 100644
index 0000000..746fe5c
--- /dev/null
+++ b/src/main/java/junitparams/custom/FileParametersProvider.java
@@ -0,0 +1,62 @@
+package junitparams.custom;
+
+import java.io.FileInputStream;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.Reader;
+
+import junitparams.FileParameters;
+import junitparams.mappers.DataMapper;
+
+public class FileParametersProvider implements ParametersProvider<FileParameters> {
+
+ private FileParameters fileParameters;
+
+ @Override
+ public void initialize(FileParameters fileParameters) {
+ this.fileParameters = fileParameters;
+ }
+
+ @Override
+ public Object[] getParameters() {
+ return paramsFromFile();
+ }
+
+ private Object[] paramsFromFile() {
+ try {
+ Reader reader = createProperReader();
+ DataMapper mapper = fileParameters.mapper().newInstance();
+ try {
+ return mapper.map(reader);
+ } finally {
+ reader.close();
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new RuntimeException(
+ "Could not successfully read parameters from file: " + fileParameters.value(), e);
+ }
+ }
+
+ private Reader createProperReader() throws IOException {
+ String filepath = fileParameters.value();
+ String encoding = fileParameters.encoding();
+
+ if (filepath.indexOf(':') < 0) {
+ return new FileReader(filepath);
+ }
+
+ String protocol = filepath.substring(0, filepath.indexOf(':'));
+ String filename = filepath.substring(filepath.indexOf(':') + 1);
+
+ if ("classpath".equals(protocol)) {
+ return new InputStreamReader(getClass().getClassLoader().getResourceAsStream(filename), encoding);
+ } else if ("file".equals(protocol)) {
+ return new InputStreamReader(new FileInputStream(filename), encoding);
+ }
+
+ throw new IllegalArgumentException("Unknown file access protocol. Only 'file' and 'classpath' are supported!");
+ }
+
+}
diff --git a/src/main/java/junitparams/custom/ParametersProvider.java b/src/main/java/junitparams/custom/ParametersProvider.java
new file mode 100644
index 0000000..8cf3621
--- /dev/null
+++ b/src/main/java/junitparams/custom/ParametersProvider.java
@@ -0,0 +1,26 @@
+package junitparams.custom;
+
+import java.lang.annotation.Annotation;
+
+/**
+ * An interface for custom parameters providers. To be used with {@link CustomParameters} annotation.
+ * Must have a default no-args constructor.
+ *
+ * @param <A> type of annotation mentioning this provider
+ */
+public interface ParametersProvider<A extends Annotation> {
+
+ /**
+ * Initializes this provider - you can read your custom annotation config here.
+ *
+ * @param parametersAnnotation parameters annotation on test method
+ */
+ void initialize(A parametersAnnotation);
+
+ /**
+ * Actual parameters generation
+ *
+ * @return parameters for test method calls
+ */
+ Object[] getParameters();
+}
diff --git a/src/main/java/junitparams/custom/combined/Cartesian.java b/src/main/java/junitparams/custom/combined/Cartesian.java
new file mode 100644
index 0000000..f98948f
--- /dev/null
+++ b/src/main/java/junitparams/custom/combined/Cartesian.java
@@ -0,0 +1,46 @@
+package junitparams.custom.combined;
+
+import java.util.Arrays;
+import java.util.List;
+
+class Cartesian {
+
+ static Object[] getCartesianProductOf(List<Object[]> array) {
+ if (array == null || array.size() == 0) {
+ return new Object[]{};
+ }
+
+ for (int i = 0; i < array.size() - 1; i++) {
+ Object[] arrayOne = array.get(i);
+ Object[] arrayTwo = array.get(i + 1);
+ array.set(i + 1, cartesianProduct(arrayOne, arrayTwo));
+ }
+
+ return array.get(array.size() - 1);
+ }
+
+ private static Object[] cartesianProduct(Object[] arrayOne, Object[] arrayTwo) {
+ int numberOfCombinations = arrayOne.length * arrayTwo.length;
+ Object[] resultArray = new Object[numberOfCombinations][2];
+
+ int i = 0;
+ for (Object firstElement : arrayOne) {
+ for (Object secondElement : arrayTwo) {
+ resultArray[i] = getCartesianOfTwoElements(firstElement, secondElement);
+ i++;
+ }
+ }
+
+ return resultArray;
+ }
+
+ private static Object getCartesianOfTwoElements(Object objectOne, Object objectTwo) {
+ if (!objectOne.getClass().isArray()) {
+ return new Object[]{objectOne, objectTwo};
+ }
+ Object[] initialArray = (Object[]) objectOne;
+ Object[] newArray = Arrays.copyOf(initialArray, initialArray.length + 1);
+ newArray[newArray.length - 1] = objectTwo;
+ return newArray;
+ }
+}
diff --git a/src/main/java/junitparams/custom/combined/CombinedParameters.java b/src/main/java/junitparams/custom/combined/CombinedParameters.java
new file mode 100644
index 0000000..95e4a5e
--- /dev/null
+++ b/src/main/java/junitparams/custom/combined/CombinedParameters.java
@@ -0,0 +1,24 @@
+package junitparams.custom.combined;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+import junitparams.custom.CustomParameters;
+
+@Retention(RetentionPolicy.RUNTIME)
+@CustomParameters(provider = CombinedParametersProvider.class)
+public @interface CombinedParameters {
+ /**
+ * Parameter values defined as a String array.
+ * Each of the elements is a list of values that should be tested for parameters.
+ * Using this annotation will result in creating a n-fold cartesian product of parameter values effectively testing
+ * each possible combination.
+ * Values in the array must match the test method's parameters in order and type.
+ * <p>
+ * Example:<br>
+ * <code>@CombinedParameters({"han,chewie","33,204"})<br>
+ * public void shouldTestAllNameAgeCombinations(String name, Integer age)
+ * </code>
+ */
+ String[] value() default {};
+}
diff --git a/src/main/java/junitparams/custom/combined/CombinedParametersProvider.java b/src/main/java/junitparams/custom/combined/CombinedParametersProvider.java
new file mode 100644
index 0000000..382b6ce
--- /dev/null
+++ b/src/main/java/junitparams/custom/combined/CombinedParametersProvider.java
@@ -0,0 +1,27 @@
+package junitparams.custom.combined;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import junitparams.custom.ParametersProvider;
+import junitparams.internal.Utils;
+
+public class CombinedParametersProvider implements ParametersProvider<CombinedParameters> {
+
+ private CombinedParameters combinedParameters;
+
+ @Override
+ public void initialize(CombinedParameters parametersAnnotation) {
+ this.combinedParameters = parametersAnnotation;
+ }
+
+ @Override
+ public Object[] getParameters() {
+ List<Object[]> list = new ArrayList<Object[]>();
+ for(String parameterArray : combinedParameters.value()) {
+ list.add(Utils.splitAtCommaOrPipe(parameterArray));
+ }
+
+ return Cartesian.getCartesianProductOf(list);
+ }
+}
diff --git a/src/main/java/junitparams/internal/InvokeParameterisedMethod.java b/src/main/java/junitparams/internal/InvokeParameterisedMethod.java
new file mode 100644
index 0000000..34024d5
--- /dev/null
+++ b/src/main/java/junitparams/internal/InvokeParameterisedMethod.java
@@ -0,0 +1,237 @@
+package junitparams.internal;
+
+import java.beans.PropertyEditor;
+import java.beans.PropertyEditorManager;
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Array;
+import java.math.BigDecimal;
+
+import org.junit.runner.Description;
+import org.junit.runners.model.FrameworkMethod;
+import org.junit.runners.model.Statement;
+
+import junitparams.converters.ConversionFailedException;
+import junitparams.converters.ConvertParam;
+import junitparams.converters.ParamAnnotation;
+import junitparams.converters.ParamConverter;
+
+/**
+ * JUnit invoker for parameterised test methods
+ *
+ * @author Pawel Lipinski
+ */
+public class InvokeParameterisedMethod extends Statement {
+
+ private final Object[] params;
+ private final FrameworkMethod testMethod;
+ private final Object testClass;
+ private final String uniqueMethodId;
+
+ public InvokeParameterisedMethod(FrameworkMethod testMethod, Object testClass, Object params, int paramSetIdx) {
+ this.testMethod = testMethod;
+ this.testClass = testClass;
+ this.uniqueMethodId = Utils.uniqueMethodId(paramSetIdx - 1, params, testMethod.getName());
+ try {
+ if (params instanceof String)
+ this.params = castParamsFromString((String) params);
+ else {
+ this.params = castParamsFromObjects(params);
+ }
+ } catch (ConversionFailedException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ private Object[] castParamsFromString(String params) throws ConversionFailedException {
+ Object[] columns = null;
+ try {
+ columns = Utils.splitAtCommaOrPipe(params);
+ columns = castParamsUsingConverters(columns);
+ } catch (RuntimeException e) {
+ new IllegalArgumentException("Cannot parse parameters. Did you use ',' or '|' as column separator? "
+ + params, e).printStackTrace();
+ }
+
+ return columns;
+ }
+
+ private Object[] castParamsFromObjects(Object params) throws ConversionFailedException {
+ Object[] paramset = Utils.safelyCastParamsToArray(params);
+
+ try {
+ return castParamsUsingConverters(paramset);
+ } catch (ConversionFailedException e) {
+ throw e;
+ } catch (Exception e) {
+ Class<?>[] typesOfParameters = createArrayOfTypesOf(paramset);
+ Object resultParam = createObjectOfExpectedTypeBasedOnParams(paramset, typesOfParameters);
+ return new Object[]{resultParam};
+ }
+ }
+
+ private Object createObjectOfExpectedTypeBasedOnParams(Object[] paramset, Class<?>[] typesOfParameters) {
+ Object resultParam;
+
+ try {
+ if (testMethod.getMethod().getParameterTypes()[0].isArray()) {
+ resultParam = Array.newInstance(typesOfParameters[0], paramset.length);
+ for (int i = 0; i < paramset.length; i++) {
+ ((Object[]) resultParam)[i] = paramset[i];
+ }
+ } else {
+ resultParam = testMethod.getMethod().getParameterTypes()[0].getConstructor(typesOfParameters).newInstance(paramset);
+ }
+ } catch (Exception e) {
+ throw new IllegalStateException("While trying to create object of class " + testMethod.getMethod().getParameterTypes()[0]
+ + " could not find constructor with arguments matching (type-wise) the ones given in parameters.", e);
+ }
+ return resultParam;
+ }
+
+ private Class<?>[] createArrayOfTypesOf(Object[] paramset) {
+ Class<?>[] parametersBasedOnValues = new Class<?>[paramset.length];
+ for (int i = 0; i < paramset.length; i++) {
+ parametersBasedOnValues[i] = paramset[i].getClass();
+ }
+ return parametersBasedOnValues;
+ }
+
+ private Object[] castParamsUsingConverters(Object[] columns) throws ConversionFailedException {
+ Class<?>[] expectedParameterTypes = testMethod.getMethod().getParameterTypes();
+
+ if (testMethodParamsHasVarargs(columns, expectedParameterTypes)) {
+ columns = columnsWithVarargs(columns, expectedParameterTypes);
+ }
+
+ Annotation[][] parameterAnnotations = testMethod.getMethod().getParameterAnnotations();
+ verifySameSizeOfArrays(columns, expectedParameterTypes);
+ columns = castAllParametersToProperTypes(columns, expectedParameterTypes, parameterAnnotations);
+ return columns;
+ }
+
+ private Object[] columnsWithVarargs(Object[] columns, Class<?>[] expectedParameterTypes) {
+ Object[] allParameters = standardParameters(columns, expectedParameterTypes);
+ allParameters[allParameters.length - 1] = varargsParameters(columns, expectedParameterTypes);
+ return allParameters;
+ }
+
+ private Object[] varargsParameters(Object[] columns, Class<?>[] expectedParameterTypes) {
+ Class<?> varArgType = expectedParameterTypes[expectedParameterTypes.length - 1].getComponentType();
+ Object[] varArgsParameters = (Object[]) Array.newInstance(varArgType, columns.length - expectedParameterTypes.length + 1);
+ for (int i = 0; i < varArgsParameters.length; i++) {
+ varArgsParameters[i] = columns[i + expectedParameterTypes.length - 1];
+ }
+ return varArgsParameters;
+ }
+
+ private Object[] standardParameters(Object[] columns, Class<?>[] expectedParameterTypes) {
+ Object[] standardParameters = new Object[expectedParameterTypes.length];
+ for (int i = 0; i < standardParameters.length - 1; i++) {
+ standardParameters[i] = columns[i];
+ }
+ return standardParameters;
+ }
+
+ private boolean testMethodParamsHasVarargs(Object[] columns, Class<?>[] expectedParameterTypes) {
+ int last = expectedParameterTypes.length - 1;
+ if (columns[last] == null) {
+ return false;
+ }
+ return expectedParameterTypes.length <= columns.length
+ && expectedParameterTypes[last].isArray()
+ && expectedParameterTypes[last].getComponentType().equals(columns[last].getClass());
+ }
+
+ private Object[] castAllParametersToProperTypes(Object[] columns, Class<?>[] expectedParameterTypes,
+ Annotation[][] parameterAnnotations) throws ConversionFailedException {
+ Object[] result = new Object[columns.length];
+
+ for (int i = 0; i < columns.length; i++) {
+ if (parameterAnnotations[i].length == 0)
+ result[i] = castParameterDirectly(columns[i], expectedParameterTypes[i]);
+ else
+ result[i] = castParameterUsingConverter(columns[i], parameterAnnotations[i]);
+ }
+
+ return result;
+ }
+
+ private Object castParameterUsingConverter(Object param, Annotation[] annotations) throws ConversionFailedException {
+ for (Annotation annotation : annotations) {
+ if (ParamAnnotation.matches(annotation)) {
+ return ParamAnnotation.convert(annotation, param);
+ }
+ if (annotation.annotationType().isAssignableFrom(ConvertParam.class)) {
+ Class<? extends ParamConverter<?>> converterClass = ((ConvertParam) annotation).value();
+ String options = ((ConvertParam) annotation).options();
+ try {
+ return converterClass.newInstance().convert(param, options);
+ } catch (ConversionFailedException e) {
+ throw e;
+ } catch (Exception e) {
+ throw new RuntimeException("Your ParamConverter class must have a public no-arg constructor!", e);
+ }
+ }
+ }
+ return param;
+ }
+
+ @SuppressWarnings("unchecked")
+ private Object castParameterDirectly(Object object, Class clazz) {
+ if (object == null || clazz.isInstance(object) || (!(object instanceof String) && clazz.isPrimitive()))
+ return object;
+ if (clazz.isEnum())
+ return (Enum.valueOf(clazz, (String) object));
+ if (clazz.isAssignableFrom(String.class))
+ return object.toString();
+ if (clazz.isAssignableFrom(Class.class))
+ try {
+ return Class.forName((String) object);
+ } catch (ClassNotFoundException e) {
+ throw new IllegalArgumentException("Parameter class (" + object + ") not found", e);
+ }
+ if (clazz.isAssignableFrom(Integer.TYPE) || clazz.isAssignableFrom(Integer.class))
+ return Integer.parseInt((String) object);
+ if (clazz.isAssignableFrom(Short.TYPE) || clazz.isAssignableFrom(Short.class))
+ return Short.parseShort((String) object);
+ if (clazz.isAssignableFrom(Long.TYPE) || clazz.isAssignableFrom(Long.class))
+ return Long.parseLong((String) object);
+ if (clazz.isAssignableFrom(Float.TYPE) || clazz.isAssignableFrom(Float.class))
+ return Float.parseFloat((String) object);
+ if (clazz.isAssignableFrom(Double.TYPE) || clazz.isAssignableFrom(Double.class))
+ return Double.parseDouble((String) object);
+ if (clazz.isAssignableFrom(Boolean.TYPE) || clazz.isAssignableFrom(Boolean.class))
+ return Boolean.parseBoolean((String) object);
+ if (clazz.isAssignableFrom(Character.TYPE) || clazz.isAssignableFrom(Character.class))
+ return object.toString().charAt(0);
+ if (clazz.isAssignableFrom(Byte.TYPE) || clazz.isAssignableFrom(Byte.class))
+ return Byte.parseByte((String) object);
+ if (clazz.isAssignableFrom(BigDecimal.class))
+ return new BigDecimal((String) object);
+ PropertyEditor editor = PropertyEditorManager.findEditor(clazz);
+ if (editor != null) {
+ editor.setAsText((String) object);
+ return editor.getValue();
+ }
+ throw new IllegalArgumentException("Parameter type (" + clazz.getName() + ") cannot be handled!" +
+ " Only primitive types, BigDecimals and Strings can be used.");
+ }
+
+ private void verifySameSizeOfArrays(Object[] columns, Class<?>[] parameterTypes) {
+ if (parameterTypes.length != columns.length)
+ throw new IllegalArgumentException(
+ "Number of parameters inside @Parameters annotation doesn't match the number of test method parameters.\nThere are "
+ + columns.length + " parameters in annotation, while there's " + parameterTypes.length + " parameters in the "
+ + testMethod.getName() + " method.");
+ }
+
+ boolean matchesDescription(Description description) {
+ return description.hashCode() == uniqueMethodId.hashCode();
+ }
+
+ @Override
+ public void evaluate() throws Throwable {
+ testMethod.invokeExplosively(testClass, params == null ? new Object[]{params} : params);
+ }
+
+}
diff --git a/src/main/java/junitparams/internal/ParameterisedTestClassRunner.java b/src/main/java/junitparams/internal/ParameterisedTestClassRunner.java
new file mode 100644
index 0000000..23daf88
--- /dev/null
+++ b/src/main/java/junitparams/internal/ParameterisedTestClassRunner.java
@@ -0,0 +1,177 @@
+package junitparams.internal;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.junit.Test;
+import org.junit.runner.Description;
+import org.junit.runner.notification.RunNotifier;
+import org.junit.runners.model.FrameworkMethod;
+import org.junit.runners.model.Statement;
+import org.junit.runners.model.TestClass;
+
+/**
+ * Testclass-level functionalities to handle parameters from a JUnit runner
+ * class.
+ *
+ * @author Pawel Lipinski
+ */
+public class ParameterisedTestClassRunner {
+
+ protected Map<TestMethod, ParameterisedTestMethodRunner> parameterisedMethods = new HashMap<TestMethod, ParameterisedTestMethodRunner>();
+ protected Map<FrameworkMethod, TestMethod> testMethods = new HashMap<FrameworkMethod, TestMethod>();
+ protected List<TestMethod> testMethodsList;
+
+ /**
+ * Creates a runner for a given test class. Computes all the test methods
+ * that are annotated as tests. Retrieves and caches all parameter values.
+ *
+ * @param testClass
+ */
+ public ParameterisedTestClassRunner(TestClass testClass) {
+ computeTestMethods(testClass);
+ fillTestMethodsMap();
+ computeFrameworkMethods();
+ }
+
+ protected void computeTestMethods(TestClass testClass) {
+ testMethodsList = TestMethod.listFrom(testClass.getAnnotatedMethods(Test.class), testClass);
+ }
+
+ private void fillTestMethodsMap() {
+ for (TestMethod testMethod : testMethodsList)
+ testMethods.put(testMethod.frameworkMethod(), testMethod);
+ }
+
+ /**
+ * Returns a list of <code>FrameworkMethod</code>s. Handles both
+ * parameterised methods (counts them as many times as many paramsets they
+ * have) and nonparameterised methods (just counts them once).
+ *
+ * @return a list of FrameworkMethod objects
+ */
+ public List<FrameworkMethod> computeFrameworkMethods() {
+ List<FrameworkMethod> resultMethods = new ArrayList<FrameworkMethod>();
+
+ for (TestMethod testMethod : testMethodsList) {
+ if (testMethod.isParameterised())
+ addTestMethodForEachParamSet(resultMethods, testMethod);
+ else
+ addTestMethodOnce(resultMethods, testMethod);
+ }
+
+ return resultMethods;
+ }
+
+ /**
+ * Returns a list of <code>FrameworkMethod</code>s - once per method, like
+ * there were no parameters.
+ * For JUnit to build names for IDE.
+ */
+ public List<FrameworkMethod> returnListOfMethods() {
+ List<FrameworkMethod> resultMethods = new ArrayList<FrameworkMethod>();
+
+ for (TestMethod testMethod : testMethodsList) {
+ addTestMethodOnce(resultMethods, testMethod);
+ cacheMethodRunner(testMethod);
+ testMethod.warnIfNoParamsGiven();
+ }
+
+ return resultMethods;
+ }
+
+ private void addTestMethodForEachParamSet(List<FrameworkMethod> resultMethods, TestMethod testMethod) {
+ if (testMethod.isNotIgnored()) {
+ int paramSetSize = testMethod.parametersSets().length;
+ for (int i = 0; i < paramSetSize; i++)
+ addTestMethodOnce(resultMethods, testMethod);
+ } else {
+ addTestMethodOnce(resultMethods, testMethod);
+ }
+ }
+
+ private void addTestMethodOnce(List<FrameworkMethod> resultMethods, TestMethod testMethod) {
+ resultMethods.add(testMethod.frameworkMethod());
+ }
+
+ private void cacheMethodRunner(TestMethod testMethod) {
+ if (!parameterisedMethods.containsKey(testMethod))
+ parameterisedMethods.put(testMethod, new ParameterisedTestMethodRunner(testMethod));
+ }
+
+ /**
+ * Returns a InvokeParameterisedMethod for parameterised methods and null
+ * for nonparameterised
+ *
+ * @param method Test method
+ * @param testClass
+ * @return a Statement with the invoker for the parameterised method
+ */
+ public Statement parameterisedMethodInvoker(FrameworkMethod method, Object testClass) {
+ TestMethod testMethod = testMethods.get(method);
+
+ if (!testMethod.isParameterised())
+ return null;
+
+ return buildMethodInvoker(method, testClass, testMethod);
+ }
+
+ private Statement buildMethodInvoker(FrameworkMethod method, Object testClass, TestMethod testMethod) {
+ ParameterisedTestMethodRunner parameterisedMethod = parameterisedMethods.get(testMethod);
+
+ return new InvokeParameterisedMethod(
+ method, testClass, parameterisedMethod.currentParamsFromAnnotation(), parameterisedMethod.count());
+ }
+
+ /**
+ * Tells if method should be run by this runner.
+ *
+ * @param testMethod
+ * @return true, iff testMethod should be run by this runner.
+ */
+ public boolean shouldRun(TestMethod testMethod) {
+ return testMethod.isParameterised();
+ }
+
+ /**
+ * Executes parameterised method.
+ *
+ * @param method
+ * @param methodInvoker
+ * @param notifier
+ */
+ public void runParameterisedTest(TestMethod method, Statement methodInvoker, RunNotifier notifier) {
+ parameterisedMethods.get(method).runTestMethod(methodInvoker, notifier);
+ }
+
+ /**
+ * Returns description of a parameterised method.
+ *
+ * @param method TODO
+ * @return Description of a method or null if it's not parameterised.
+ */
+ public Description describeParameterisedMethod(FrameworkMethod method) {
+ TestMethod testMethod = testMethods.get(method);
+
+ if (!testMethod.isParameterised())
+ return null;
+
+ return testMethod.describe();
+ }
+
+ /**
+ * Returns a cached TestMethod object related to the given FrameworkMethod.
+ * This object has all the params already retrieved, so use this one and not
+ * TestMethod's constructor if you want to have everything retrieved once
+ * and cached.
+ *
+ * @param method
+ * @return a cached TestMethod instance
+ */
+ public TestMethod testMethodFor(FrameworkMethod method) {
+ return testMethods.get(method);
+ }
+
+}
diff --git a/src/main/java/junitparams/internal/ParameterisedTestMethodRunner.java b/src/main/java/junitparams/internal/ParameterisedTestMethodRunner.java
new file mode 100644
index 0000000..9573048
--- /dev/null
+++ b/src/main/java/junitparams/internal/ParameterisedTestMethodRunner.java
@@ -0,0 +1,108 @@
+package junitparams.internal;
+
+import java.lang.reflect.Field;
+
+import org.junit.internal.AssumptionViolatedException;
+import org.junit.internal.runners.model.EachTestNotifier;
+import org.junit.runner.Description;
+import org.junit.runner.notification.RunNotifier;
+import org.junit.runners.model.Statement;
+
+/**
+ * Testmethod-level functionalities for parameterised tests
+ *
+ * @author Pawel Lipinski
+ */
+public class ParameterisedTestMethodRunner {
+
+ public final TestMethod method;
+ private int count;
+
+ public ParameterisedTestMethodRunner(TestMethod testMethod) {
+ this.method = testMethod;
+ }
+
+ public int nextCount() {
+ return count++;
+ }
+
+ public int count() {
+ return count;
+ }
+
+ Object currentParamsFromAnnotation() {
+ return method.parametersSets()[nextCount()];
+ }
+
+ void runTestMethod(Statement methodInvoker, RunNotifier notifier) {
+ Description methodWithParams = findChildForParams(methodInvoker, method.describe());
+
+ runMethodInvoker(notifier, methodInvoker, methodWithParams);
+ }
+
+ private void runMethodInvoker(RunNotifier notifier, Statement methodInvoker, Description methodWithParams) {
+ EachTestNotifier eachNotifier = new EachTestNotifier(notifier, methodWithParams);
+ eachNotifier.fireTestStarted();
+ try {
+ methodInvoker.evaluate();
+ } catch (AssumptionViolatedException e) {
+ eachNotifier.addFailedAssumption(e);
+ } catch (Throwable e) {
+ eachNotifier.addFailure(e);
+ } finally {
+ eachNotifier.fireTestFinished();
+ }
+ }
+
+ private Description findChildForParams(Statement methodInvoker, Description methodDescription) {
+ if (System.getProperty("JUnitParams.flat") != null)
+ return methodDescription;
+
+ InvokeParameterisedMethod parameterisedInvoker = findParameterisedMethodInvokerInChain(methodInvoker);
+
+ for (Description child : methodDescription.getChildren()) {
+ if (parameterisedInvoker.matchesDescription(child))
+ return child;
+ }
+ return null;
+ }
+
+ private InvokeParameterisedMethod findParameterisedMethodInvokerInChain(Statement methodInvoker) {
+ while (methodInvoker != null && !(methodInvoker instanceof InvokeParameterisedMethod))
+ methodInvoker = nextChainedInvoker(methodInvoker);
+
+ if (methodInvoker == null)
+ throw new RuntimeException("Cannot find invoker for the parameterised method. Using wrong JUnit version?");
+
+ return (InvokeParameterisedMethod) methodInvoker;
+ }
+
+ private Statement nextChainedInvoker(Statement methodInvoker) {
+ Field[] declaredFields = methodInvoker.getClass().getDeclaredFields();
+
+ for (Field field : declaredFields) {
+ Statement statement = statementOrNull(methodInvoker, field);
+ if (statement != null)
+ return statement;
+ }
+
+ return null;
+ }
+
+ private Statement statementOrNull(Statement methodInvoker, Field field) {
+ if (Statement.class.isAssignableFrom(field.getType()))
+ return getOriginalStatement(methodInvoker, field);
+
+ return null;
+ }
+
+ private Statement getOriginalStatement(Statement methodInvoker, Field field) {
+ field.setAccessible(true);
+ try {
+ return (Statement) field.get(methodInvoker);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return null;
+ }
+ }
+}
diff --git a/src/main/java/junitparams/internal/ParametrizedTestMethodsFilter.java b/src/main/java/junitparams/internal/ParametrizedTestMethodsFilter.java
new file mode 100644
index 0000000..905934c
--- /dev/null
+++ b/src/main/java/junitparams/internal/ParametrizedTestMethodsFilter.java
@@ -0,0 +1,37 @@
+package junitparams.internal;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.junit.runner.manipulation.Filter;
+import org.junit.runners.model.FrameworkMethod;
+
+import junitparams.JUnitParamsRunner;
+
+public class ParametrizedTestMethodsFilter {
+ private final junitparams.JUnitParamsRunner jUnitParamsRunner;
+
+ private final Filter filter;
+
+ public ParametrizedTestMethodsFilter(junitparams.JUnitParamsRunner jUnitParamsRunner, Filter filter) {
+ this.jUnitParamsRunner = jUnitParamsRunner;
+ this.filter = filter;
+ }
+
+ public ParametrizedTestMethodsFilter(JUnitParamsRunner jUnitParamsRunner) {
+ this.jUnitParamsRunner = jUnitParamsRunner;
+ this.filter = Filter.ALL;
+ }
+
+ public List<FrameworkMethod> filteredMethods(List<FrameworkMethod> frameworkMethods) {
+ List<FrameworkMethod> filteredMethods = new ArrayList<FrameworkMethod>();
+
+ for (FrameworkMethod frameworkMethod : frameworkMethods) {
+ if (filter.shouldRun(jUnitParamsRunner.describeMethod(frameworkMethod))) {
+ filteredMethods.add(frameworkMethod);
+ }
+ }
+
+ return filteredMethods;
+ }
+} \ No newline at end of file
diff --git a/src/main/java/junitparams/internal/TestMethod.java b/src/main/java/junitparams/internal/TestMethod.java
new file mode 100644
index 0000000..6125803
--- /dev/null
+++ b/src/main/java/junitparams/internal/TestMethod.java
@@ -0,0 +1,141 @@
+package junitparams.internal;
+
+import java.lang.annotation.Annotation;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.junit.Ignore;
+import org.junit.runner.Description;
+import org.junit.runners.model.FrameworkMethod;
+import org.junit.runners.model.TestClass;
+
+import junitparams.internal.annotation.FrameworkMethodAnnotations;
+import junitparams.internal.parameters.ParametersReader;
+import junitparams.naming.MacroSubstitutionNamingStrategy;
+import junitparams.naming.TestCaseNamingStrategy;
+
+/**
+ * A wrapper for a test method
+ *
+ * @author Pawel Lipinski
+ */
+public class TestMethod {
+ private FrameworkMethod frameworkMethod;
+ FrameworkMethodAnnotations frameworkMethodAnnotations;
+ private Class<?> testClass;
+ private ParametersReader parametersReader;
+ private Object[] cachedParameters;
+ private TestCaseNamingStrategy namingStrategy;
+
+ public TestMethod(FrameworkMethod method, TestClass testClass) {
+ this.frameworkMethod = method;
+ this.testClass = testClass.getJavaClass();
+ frameworkMethodAnnotations = new FrameworkMethodAnnotations(method);
+ parametersReader = new ParametersReader(testClass(), frameworkMethod);
+
+ namingStrategy = new MacroSubstitutionNamingStrategy(this);
+ }
+
+ public String name() {
+ return frameworkMethod.getName();
+ }
+
+ public static List<TestMethod> listFrom(List<FrameworkMethod> annotatedMethods, TestClass testClass) {
+ List<TestMethod> methods = new ArrayList<TestMethod>();
+
+ for (FrameworkMethod frameworkMethod : annotatedMethods)
+ methods.add(new TestMethod(frameworkMethod, testClass));
+
+ return methods;
+ }
+
+ @Override
+ public int hashCode() {
+ return frameworkMethod.hashCode();
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ return (obj instanceof TestMethod)
+ && hasTheSameNameAsFrameworkMethod((TestMethod) obj)
+ && hasTheSameParameterTypesAsFrameworkMethod((TestMethod) obj);
+ }
+
+ private boolean hasTheSameNameAsFrameworkMethod(TestMethod testMethod) {
+ return frameworkMethod.getName().equals(testMethod.frameworkMethod.getName());
+ }
+
+ private boolean hasTheSameParameterTypesAsFrameworkMethod(TestMethod testMethod) {
+ Class<?>[] frameworkMethodParameterTypes = frameworkMethod.getMethod().getParameterTypes();
+ Class<?>[] testMethodParameterTypes = testMethod.frameworkMethod.getMethod().getParameterTypes();
+ return Arrays.equals(frameworkMethodParameterTypes, testMethodParameterTypes);
+ }
+
+ Class<?> testClass() {
+ return testClass;
+ }
+
+ public boolean isIgnored() {
+ return hasIgnoredAnnotation() || hasNoParameters();
+ }
+
+ private boolean hasIgnoredAnnotation() {
+ return frameworkMethodAnnotations.hasAnnotation(Ignore.class);
+ }
+
+ private boolean hasNoParameters() {
+ return isParameterised() && parametersSets().length == 0;
+ }
+
+ public boolean isNotIgnored() {
+ return !isIgnored();
+ }
+
+ public <T extends Annotation> T getAnnotation(Class<T> annotationType) {
+ return frameworkMethodAnnotations.getAnnotation(annotationType);
+ }
+
+ Description describe() {
+ if (isNotIgnored() && !describeFlat()) {
+ Description parametrised = Description.createSuiteDescription(name());
+ Object[] params = parametersSets();
+ for (int i = 0; i < params.length; i++) {
+ Object paramSet = params[i];
+ String name = namingStrategy.getTestCaseName(i, paramSet);
+ String uniqueMethodId = Utils.uniqueMethodId(i, paramSet, name());
+
+ parametrised.addChild(
+ Description.createTestDescription(testClass().getName(), name, uniqueMethodId)
+ );
+ }
+ return parametrised;
+ } else {
+ return Description.createTestDescription(testClass(), name(), frameworkMethodAnnotations.allAnnotations());
+ }
+ }
+
+ private boolean describeFlat() {
+ return System.getProperty("JUnitParams.flat") != null;
+ }
+
+ public Object[] parametersSets() {
+ if (cachedParameters == null) {
+ cachedParameters = parametersReader.read();
+ }
+ return cachedParameters;
+ }
+
+ void warnIfNoParamsGiven() {
+ if (isNotIgnored() && isParameterised() && parametersSets().length == 0)
+ System.err.println("Method " + name() + " gets empty list of parameters, so it's being ignored!");
+ }
+
+ public FrameworkMethod frameworkMethod() {
+ return frameworkMethod;
+ }
+
+ boolean isParameterised() {
+ return frameworkMethodAnnotations.isParametrised();
+ }
+}
diff --git a/src/main/java/junitparams/internal/Utils.java b/src/main/java/junitparams/internal/Utils.java
new file mode 100644
index 0000000..0e10adf
--- /dev/null
+++ b/src/main/java/junitparams/internal/Utils.java
@@ -0,0 +1,164 @@
+package junitparams.internal;
+
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Arrays;
+
+/**
+ * Some String utils to handle parameterised tests' results.
+ *
+ * @author Pawel Lipinski
+ */
+public class Utils {
+ public static final String REGEX_ALL_NEWLINES = "(\\r\\n|\\n|\\r)";
+
+ public static String stringify(Object paramSet, int paramIdx) {
+ String result = "[" + paramIdx + "] ";
+
+ return result + stringify(paramSet);
+ }
+
+ public static String stringify(Object paramSet) {
+ String result;
+ if (paramSet == null)
+ result = "null";
+ else if (paramSet instanceof String)
+ result = paramSet.toString();
+ else
+ result = asCsvString(safelyCastParamsToArray(paramSet));
+
+ return trimSpecialChars(result);
+ }
+
+ public static String getParameterStringByIndexOrEmpty(Object paramSet, int parameterIndex) {
+ Object[] params = safelyCastParamsToArray(paramSet);
+ if (paramSet instanceof String) {
+ params = splitAtCommaOrPipe((String) paramSet);
+ }
+ if (parameterIndex >= 0 && parameterIndex < params.length) {
+ return addParamToResult("", params[parameterIndex]);
+ }
+
+ return "";
+ }
+
+ public static String[] splitAtCommaOrPipe(String input) {
+ ArrayList<String> result = new ArrayList<String>();
+
+ char character = '\0';
+ char previousCharacter;
+
+ StringBuilder value = new StringBuilder();
+ for (int i = 0; i < input.length(); i++) {
+ previousCharacter = character;
+ character = input.charAt(i);
+
+ if (character == ',' || character == '|') {
+ if (previousCharacter == '\\') {
+ value.setCharAt(value.length() - 1, character);
+ continue;
+ }
+ result.add(value.toString().trim());
+ value = new StringBuilder();
+ continue;
+ }
+
+ value.append(character);
+ }
+ result.add(value.toString().trim());
+
+ return result.toArray(new String[]{});
+ }
+
+ private static String trimSpecialChars(String result) {
+ return result.replace('(', '[').replace(')', ']').replaceAll(REGEX_ALL_NEWLINES, " ");
+ }
+
+ static Object[] safelyCastParamsToArray(Object paramSet) {
+ final Object[] params;
+ if (paramSet instanceof Object[]) {
+ params = (Object[]) paramSet;
+ } else {
+ params = new Object[]{paramSet};
+ }
+ return params;
+ }
+
+ private static String asCsvString(Object[] params) {
+ if (params == null)
+ return "null";
+
+ if (params.length == 0)
+ return "";
+
+ String result = "";
+
+ for (int i = 0; i < params.length - 1; i++) {
+ Object param = params[i];
+ result = addParamToResult(result, param) + ", ";
+ }
+ result = addParamToResult(result, params[params.length - 1]);
+
+ return result;
+ }
+
+ private static String addParamToResult(String result, Object param) {
+ if (param == null)
+ result += "null";
+ else if (param.getClass().isArray())
+ result += convertAnyArrayToString(param);
+ else if (hasOverridenToStringMethod(param))
+ result += param.toString();
+ else
+ result += param.getClass().getSimpleName();
+
+ return result;
+ }
+
+ private static boolean hasOverridenToStringMethod(Object param) {
+ Method[] methods = param.getClass().getMethods();
+ for (Method method : methods) {
+ if (method.getName().equals("toString") && overridesMethod(method)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ private static boolean overridesMethod(Method method) {
+ return !method.getDeclaringClass().equals(Object.class);
+ }
+
+ static String uniqueMethodId(int index, Object paramSet, String methodName) {
+ return stringify(paramSet, index) + " (" + methodName + ")";
+ }
+
+ private static String convertAnyArrayToString(Object arrayAsObject) {
+ if (arrayAsObject.getClass().getComponentType().isPrimitive()) {
+ return convertFromArrayOfPrimitives(arrayAsObject);
+ } else {
+ return Arrays.toString((Object[]) arrayAsObject);
+ }
+ }
+
+ private static final String convertFromArrayOfPrimitives(Object arrayOfPrimitives) {
+ String componentType = arrayOfPrimitives.getClass().getComponentType().getName();
+ if ("byte".equals(componentType)) {
+ return Arrays.toString((byte[]) arrayOfPrimitives);
+ } else if ("short".equals(componentType)) {
+ return Arrays.toString((short[]) arrayOfPrimitives);
+ } else if ("int".equals(componentType)) {
+ return Arrays.toString((int[]) arrayOfPrimitives);
+ } else if ("long".equals(componentType)) {
+ return Arrays.toString((long[]) arrayOfPrimitives);
+ } else if ("float".equals(componentType)) {
+ return Arrays.toString((float[]) arrayOfPrimitives);
+ } else if ("double".equals(componentType)) {
+ return Arrays.toString((double[]) arrayOfPrimitives);
+ } else if ("boolean".equals(componentType)) {
+ return Arrays.toString((boolean[]) arrayOfPrimitives);
+ } else {
+ return Arrays.toString((char[]) arrayOfPrimitives);
+ }
+ }
+}
diff --git a/src/main/java/junitparams/internal/annotation/CustomParametersDescriptor.java b/src/main/java/junitparams/internal/annotation/CustomParametersDescriptor.java
new file mode 100644
index 0000000..7f0729e
--- /dev/null
+++ b/src/main/java/junitparams/internal/annotation/CustomParametersDescriptor.java
@@ -0,0 +1,30 @@
+package junitparams.internal.annotation;
+
+import java.lang.annotation.Annotation;
+
+import junitparams.custom.CustomParameters;
+import junitparams.custom.ParametersProvider;
+
+public class CustomParametersDescriptor {
+
+ private final Annotation customAnnotation;
+
+ private final Class<? extends ParametersProvider> provider;
+
+ public CustomParametersDescriptor(CustomParameters customParameters) {
+ this(customParameters, customParameters);
+ }
+
+ public CustomParametersDescriptor(CustomParameters customParameters, Annotation customAnnotation) {
+ this.provider = customParameters.provider();
+ this.customAnnotation = customAnnotation;
+ }
+
+ public Class<? extends ParametersProvider> provider() {
+ return provider;
+ }
+
+ public Annotation annotation() {
+ return customAnnotation;
+ }
+}
diff --git a/src/main/java/junitparams/internal/annotation/FrameworkMethodAnnotations.java b/src/main/java/junitparams/internal/annotation/FrameworkMethodAnnotations.java
new file mode 100644
index 0000000..326bb21
--- /dev/null
+++ b/src/main/java/junitparams/internal/annotation/FrameworkMethodAnnotations.java
@@ -0,0 +1,53 @@
+package junitparams.internal.annotation;
+
+import java.lang.annotation.Annotation;
+
+import org.junit.runners.model.FrameworkMethod;
+
+import junitparams.Parameters;
+import junitparams.custom.CustomParameters;
+
+public class FrameworkMethodAnnotations {
+
+ private final FrameworkMethod frameworkMethod;
+
+ public FrameworkMethodAnnotations(FrameworkMethod frameworkMethod) {
+ this.frameworkMethod = frameworkMethod;
+ }
+
+ public boolean isParametrised() {
+ return hasAnnotation(Parameters.class)
+ || hasCustomParameters();
+ }
+
+ public Annotation[] allAnnotations() {
+ return frameworkMethod.getAnnotations();
+ }
+
+ public <T extends Annotation> T getAnnotation(Class<T> annotationType) {
+ return frameworkMethod.getAnnotation(annotationType);
+ }
+
+ public boolean hasAnnotation(Class<? extends Annotation> annotation) {
+ return getAnnotation(annotation) != null;
+ }
+
+ public boolean hasCustomParameters() {
+ return getCustomParameters() != null;
+ }
+
+ public CustomParametersDescriptor getCustomParameters() {
+ CustomParameters customParameters = frameworkMethod.getAnnotation(CustomParameters.class);
+ if (customParameters != null) {
+ return new CustomParametersDescriptor(customParameters);
+ }
+
+ for (Annotation annotation : frameworkMethod.getAnnotations()) {
+ customParameters = annotation.annotationType().getAnnotation(CustomParameters.class);
+ if (customParameters != null) {
+ return new CustomParametersDescriptor(customParameters, annotation);
+ }
+ }
+ return null;
+ }
+}
diff --git a/src/main/java/junitparams/internal/parameters/ParametersFromCustomProvider.java b/src/main/java/junitparams/internal/parameters/ParametersFromCustomProvider.java
new file mode 100644
index 0000000..09dbf99
--- /dev/null
+++ b/src/main/java/junitparams/internal/parameters/ParametersFromCustomProvider.java
@@ -0,0 +1,38 @@
+package junitparams.internal.parameters;
+
+import org.junit.runners.model.FrameworkMethod;
+
+import junitparams.custom.ParametersProvider;
+import junitparams.internal.annotation.CustomParametersDescriptor;
+import junitparams.internal.annotation.FrameworkMethodAnnotations;
+
+public class ParametersFromCustomProvider implements ParametrizationStrategy {
+
+ private final FrameworkMethodAnnotations frameworkMethodAnnotations;
+
+ public ParametersFromCustomProvider(FrameworkMethod frameworkMethod) {
+ frameworkMethodAnnotations = new FrameworkMethodAnnotations(frameworkMethod);
+ }
+
+ @Override
+ public boolean isApplicable() {
+ return frameworkMethodAnnotations.hasCustomParameters();
+ }
+
+ @Override
+ public Object[] getParameters() {
+ CustomParametersDescriptor parameters = frameworkMethodAnnotations.getCustomParameters();
+ ParametersProvider provider = instantiate(parameters.provider());
+ provider.initialize(parameters.annotation());
+ return provider.getParameters();
+ }
+
+ private ParametersProvider instantiate(Class<? extends ParametersProvider> providerClass) {
+ try {
+ return providerClass.newInstance();
+ } catch (Exception e) {
+ throw new RuntimeException("Your Provider class must have a public no-arg constructor!", e);
+ }
+ }
+
+}
diff --git a/src/main/java/junitparams/internal/parameters/ParametersFromExternalClassMethod.java b/src/main/java/junitparams/internal/parameters/ParametersFromExternalClassMethod.java
new file mode 100644
index 0000000..051fde0
--- /dev/null
+++ b/src/main/java/junitparams/internal/parameters/ParametersFromExternalClassMethod.java
@@ -0,0 +1,29 @@
+package junitparams.internal.parameters;
+
+import junitparams.Parameters;
+import org.junit.runners.model.FrameworkMethod;
+
+import javax.lang.model.type.NullType;
+
+class ParametersFromExternalClassMethod implements ParametrizationStrategy {
+ private ParamsFromMethodCommon paramsFromMethodCommon;
+ private Parameters annotation;
+
+ ParametersFromExternalClassMethod(FrameworkMethod frameworkMethod) {
+ this.paramsFromMethodCommon = new ParamsFromMethodCommon(frameworkMethod);
+ annotation = frameworkMethod.getAnnotation(Parameters.class);
+ }
+
+ @Override
+ public Object[] getParameters() {
+ Class<?> sourceClass = annotation.source();
+ return paramsFromMethodCommon.paramsFromMethod(sourceClass);
+ }
+
+ @Override
+ public boolean isApplicable() {
+ return annotation != null
+ && !annotation.source().isAssignableFrom(NullType.class)
+ && !annotation.method().isEmpty();
+ }
+} \ No newline at end of file
diff --git a/src/main/java/junitparams/internal/parameters/ParametersFromExternalClassProvideMethod.java b/src/main/java/junitparams/internal/parameters/ParametersFromExternalClassProvideMethod.java
new file mode 100644
index 0000000..7bded6d
--- /dev/null
+++ b/src/main/java/junitparams/internal/parameters/ParametersFromExternalClassProvideMethod.java
@@ -0,0 +1,80 @@
+package junitparams.internal.parameters;
+
+import junitparams.Parameters;
+import org.junit.runners.model.FrameworkMethod;
+
+import javax.lang.model.type.NullType;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+class ParametersFromExternalClassProvideMethod implements ParametrizationStrategy {
+ private final ParamsFromMethodCommon paramsFromMethodCommon;
+ private Parameters annotation;
+
+ ParametersFromExternalClassProvideMethod(FrameworkMethod frameworkMethod) {
+ this.paramsFromMethodCommon = new ParamsFromMethodCommon(frameworkMethod);
+ annotation = frameworkMethod.getAnnotation(Parameters.class);
+ }
+
+ @Override
+ public Object[] getParameters() {
+ Class<?> sourceClass = annotation.source();
+ return fillResultWithAllParamProviderMethods(sourceClass);
+ }
+
+ @Override
+ public boolean isApplicable() {
+ return annotation != null
+ && !annotation.source().isAssignableFrom(NullType.class)
+ && annotation.method().isEmpty();
+ }
+
+ private Object[] fillResultWithAllParamProviderMethods(Class<?> sourceClass) {
+ if (sourceClass.isEnum()) {
+ return sourceClass.getEnumConstants();
+ }
+
+ List<Object> result = getParamsFromSourceHierarchy(sourceClass);
+ if (result.isEmpty())
+ throw new RuntimeException(
+ "No methods starting with provide or they return no result in the parameters source class: "
+ + sourceClass.getName());
+
+ return result.toArray();
+ }
+
+ private List<Object> getParamsFromSourceHierarchy(Class<?> sourceClass) {
+ List<Object> result = new ArrayList<Object>();
+ while (sourceClass.getSuperclass() != null) {
+ result.addAll(gatherParamsFromAllMethodsFrom(sourceClass));
+ sourceClass = sourceClass.getSuperclass();
+ }
+
+ return result;
+ }
+
+ private List<Object> gatherParamsFromAllMethodsFrom(Class<?> sourceClass) {
+ List<Object> result = new ArrayList<Object>();
+ Method[] methods = sourceClass.getDeclaredMethods();
+ for (Method prividerMethod : methods) {
+ if (prividerMethod.getName().startsWith("provide")) {
+ if (!Modifier.isStatic(prividerMethod.getModifiers())) {
+ throw new RuntimeException("Parameters source method " +
+ prividerMethod.getName() +
+ " is not declared as static. Change it to a static method.");
+ }
+ try {
+ result.addAll(
+ Arrays.asList(paramsFromMethodCommon.getDataFromMethod(prividerMethod)));
+ } catch (Exception e) {
+ throw new RuntimeException("Cannot invoke parameters source method: " + prividerMethod.getName(),
+ e);
+ }
+ }
+ }
+ return result;
+ }
+} \ No newline at end of file
diff --git a/src/main/java/junitparams/internal/parameters/ParametersFromTestClassMethod.java b/src/main/java/junitparams/internal/parameters/ParametersFromTestClassMethod.java
new file mode 100644
index 0000000..9d1ab7a
--- /dev/null
+++ b/src/main/java/junitparams/internal/parameters/ParametersFromTestClassMethod.java
@@ -0,0 +1,31 @@
+package junitparams.internal.parameters;
+
+import javax.lang.model.type.NullType;
+
+import org.junit.runners.model.FrameworkMethod;
+
+import junitparams.Parameters;
+
+class ParametersFromTestClassMethod implements ParametrizationStrategy {
+ private ParamsFromMethodCommon paramsFromMethodCommon;
+ private Class<?> testClass;
+ private Parameters annotation;
+
+ ParametersFromTestClassMethod(FrameworkMethod frameworkMethod, Class<?> testClass) {
+ paramsFromMethodCommon = new ParamsFromMethodCommon(frameworkMethod);
+ this.testClass = testClass;
+ annotation = frameworkMethod.getAnnotation(Parameters.class);
+ }
+
+ @Override
+ public Object[] getParameters() {
+ return paramsFromMethodCommon.paramsFromMethod(testClass);
+ }
+
+ @Override
+ public boolean isApplicable() {
+ return annotation != null
+ && annotation.source().isAssignableFrom(NullType.class)
+ && (!annotation.method().isEmpty() || paramsFromMethodCommon.containsDefaultParametersProvidingMethod(testClass));
+ }
+}
diff --git a/src/main/java/junitparams/internal/parameters/ParametersFromValue.java b/src/main/java/junitparams/internal/parameters/ParametersFromValue.java
new file mode 100644
index 0000000..943794d
--- /dev/null
+++ b/src/main/java/junitparams/internal/parameters/ParametersFromValue.java
@@ -0,0 +1,23 @@
+package junitparams.internal.parameters;
+
+import junitparams.Parameters;
+import org.junit.runners.model.FrameworkMethod;
+
+class ParametersFromValue implements ParametrizationStrategy {
+
+ private final Parameters parametersAnnotation;
+
+ ParametersFromValue(FrameworkMethod frameworkMethod) {
+ parametersAnnotation = frameworkMethod.getAnnotation(Parameters.class);
+ }
+
+ @Override
+ public Object[] getParameters() {
+ return parametersAnnotation.value();
+ }
+
+ @Override
+ public boolean isApplicable() {
+ return parametersAnnotation != null && parametersAnnotation.value().length > 0;
+ }
+} \ No newline at end of file
diff --git a/src/main/java/junitparams/internal/parameters/ParametersReader.java b/src/main/java/junitparams/internal/parameters/ParametersReader.java
new file mode 100644
index 0000000..b0f5ec3
--- /dev/null
+++ b/src/main/java/junitparams/internal/parameters/ParametersReader.java
@@ -0,0 +1,55 @@
+package junitparams.internal.parameters;
+
+import java.util.List;
+
+import org.junit.runners.model.FrameworkMethod;
+
+import junitparams.FileParameters;
+import junitparams.Parameters;
+
+import static java.lang.String.*;
+import static java.util.Arrays.*;
+
+public class ParametersReader {
+
+ public static final String ILLEGAL_STATE_EXCEPTION_MESSAGE
+ = format("Illegal usage of JUnitParams in method %s. " +
+ "Check that you have only used one supported parameters evaluation strategy. " +
+ "Common case is to use both %s and %s annotations.",
+ "%s", Parameters.class, FileParameters.class);
+
+ private final FrameworkMethod frameworkMethod;
+ private final List<ParametrizationStrategy> strategies;
+
+ public ParametersReader(Class<?> testClass, FrameworkMethod frameworkMethod) {
+ this.frameworkMethod = frameworkMethod;
+
+ strategies = asList(
+ new ParametersFromCustomProvider(frameworkMethod),
+ new ParametersFromValue(frameworkMethod),
+ new ParametersFromExternalClassProvideMethod(frameworkMethod),
+ new ParametersFromExternalClassMethod(frameworkMethod),
+ new ParametersFromTestClassMethod(frameworkMethod, testClass)
+ );
+ }
+
+ public Object[] read() {
+ boolean strategyAlreadyFound = false;
+ Object[] parameters = new Object[]{};
+
+ for (ParametrizationStrategy strategy : strategies) {
+ if (strategy.isApplicable()) {
+ if (strategyAlreadyFound) {
+ illegalState();
+ }
+ parameters = strategy.getParameters();
+ strategyAlreadyFound = true;
+ }
+ }
+ return parameters;
+ }
+
+ private void illegalState() {
+ throw new IllegalStateException(format(ILLEGAL_STATE_EXCEPTION_MESSAGE, frameworkMethod.getName()));
+ }
+}
diff --git a/src/main/java/junitparams/internal/parameters/ParametrizationStrategy.java b/src/main/java/junitparams/internal/parameters/ParametrizationStrategy.java
new file mode 100644
index 0000000..b140edd
--- /dev/null
+++ b/src/main/java/junitparams/internal/parameters/ParametrizationStrategy.java
@@ -0,0 +1,6 @@
+package junitparams.internal.parameters;
+
+interface ParametrizationStrategy {
+ Object[] getParameters();
+ boolean isApplicable();
+}
diff --git a/src/main/java/junitparams/internal/parameters/ParamsFromMethodCommon.java b/src/main/java/junitparams/internal/parameters/ParamsFromMethodCommon.java
new file mode 100644
index 0000000..d2ec124
--- /dev/null
+++ b/src/main/java/junitparams/internal/parameters/ParamsFromMethodCommon.java
@@ -0,0 +1,150 @@
+package junitparams.internal.parameters;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.junit.runners.model.FrameworkMethod;
+
+import junitparams.Parameters;
+
+class ParamsFromMethodCommon {
+ private FrameworkMethod frameworkMethod;
+
+ ParamsFromMethodCommon(FrameworkMethod frameworkMethod) {
+ this.frameworkMethod = frameworkMethod;
+ }
+
+ Object[] paramsFromMethod(Class<?> sourceClass) {
+ String methodAnnotation = frameworkMethod.getAnnotation(Parameters.class).method();
+
+ if (methodAnnotation.isEmpty()) {
+ return invokeMethodWithParams(defaultMethodName(), sourceClass);
+ }
+
+ List<Object> result = new ArrayList<Object>();
+ for (String methodName : methodAnnotation.split(",")) {
+ for (Object param : invokeMethodWithParams(methodName.trim(), sourceClass))
+ result.add(param);
+ }
+
+ return result.toArray();
+ }
+
+ Object[] getDataFromMethod(Method providerMethod) throws IllegalAccessException, InvocationTargetException {
+ return encapsulateParamsIntoArrayIfSingleParamsetPassed((Object[]) providerMethod.invoke(null));
+ }
+
+ boolean containsDefaultParametersProvidingMethod(Class<?> sourceClass) {
+ return findMethodInTestClassHierarchy(defaultMethodName(), sourceClass) != null;
+ }
+
+ private String defaultMethodName() {
+ return "parametersFor" + frameworkMethod.getName().substring(0, 1).toUpperCase()
+ + this.frameworkMethod.getName().substring(1);
+ }
+
+ private Object[] invokeMethodWithParams(String methodName, Class<?> sourceClass) {
+ Method providerMethod = findMethodInTestClassHierarchy(methodName, sourceClass);
+ if (providerMethod == null) {
+ throw new RuntimeException("Could not find method: " + methodName + " so no params were used.");
+ }
+
+ return invokeParamsProvidingMethod(providerMethod, sourceClass);
+ }
+
+ @SuppressWarnings("unchecked")
+ private Object[] invokeParamsProvidingMethod(Method provideMethod, Class<?> sourceClass) {
+ try {
+ Object testObject = sourceClass.newInstance();
+ provideMethod.setAccessible(true);
+ Object result = provideMethod.invoke(testObject);
+
+ if (Object[].class.isAssignableFrom(result.getClass())) {
+ Object[] params = (Object[]) result;
+ return encapsulateParamsIntoArrayIfSingleParamsetPassed(params);
+ }
+
+ if (Iterable.class.isAssignableFrom(result.getClass())) {
+ try {
+ ArrayList<Object[]> res = new ArrayList<Object[]>();
+ for (Object[] paramSet : (Iterable<Object[]>) result)
+ res.add(paramSet);
+ return res.toArray();
+ } catch (ClassCastException e1) {
+ // Iterable with consecutive paramsets, each of one param
+ ArrayList<Object> res = new ArrayList<Object>();
+ for (Object param : (Iterable<?>) result)
+ res.add(new Object[]{param});
+ return res.toArray();
+ }
+ }
+
+ if (Iterator.class.isAssignableFrom(result.getClass())) {
+ Object iteratedElement = null;
+ try {
+ ArrayList<Object[]> res = new ArrayList<Object[]>();
+ Iterator<Object[]> iterator = (Iterator<Object[]>) result;
+ while (iterator.hasNext()) {
+ iteratedElement = iterator.next();
+ // ClassCastException will occur in the following line
+ // if the iterator is actually Iterator<Object> in Java 7
+ res.add((Object[]) iteratedElement);
+ }
+ return res.toArray();
+ } catch (ClassCastException e1) {
+ // Iterator with consecutive paramsets, each of one param
+ ArrayList<Object> res = new ArrayList<Object>();
+ Iterator<?> iterator = (Iterator<?>) result;
+ // The first element is already stored in iteratedElement
+ res.add(iteratedElement);
+ while (iterator.hasNext()) {
+ res.add(new Object[]{iterator.next()});
+ }
+ return res.toArray();
+ }
+ }
+
+ throw new ClassCastException();
+
+ } catch (ClassCastException e) {
+ throw new RuntimeException("The return type of: " + provideMethod.getName() + " defined in class " +
+ sourceClass + " is not Object[][] nor Iterable<Object[]>. Fix it!", e);
+ } catch (Exception e) {
+ throw new RuntimeException("Could not invoke method: " + provideMethod.getName() + " defined in class " +
+ sourceClass + " so no params were used.", e);
+ }
+ }
+
+ private Method findMethodInTestClassHierarchy(String methodName, Class<?> sourceClass) {
+ Class<?> declaringClass = sourceClass;
+ while (declaringClass.getSuperclass() != null) {
+ try {
+ return declaringClass.getDeclaredMethod(methodName);
+ } catch (Exception ignore) {
+ }
+ declaringClass = declaringClass.getSuperclass();
+ }
+ return null;
+ }
+
+ private Object[] encapsulateParamsIntoArrayIfSingleParamsetPassed(Object[] params) {
+ if (frameworkMethod.getMethod().getParameterTypes().length != params.length) {
+ return params;
+ }
+
+ if (params.length == 0) {
+ return params;
+ }
+
+ Object param = params[0];
+ if (param == null || !param.getClass().isArray()) {
+ return new Object[]{params};
+ }
+
+ return params;
+ }
+
+}
diff --git a/src/main/java/junitparams/mappers/BufferedReaderDataMapper.java b/src/main/java/junitparams/mappers/BufferedReaderDataMapper.java
new file mode 100644
index 0000000..a7b0fd2
--- /dev/null
+++ b/src/main/java/junitparams/mappers/BufferedReaderDataMapper.java
@@ -0,0 +1,40 @@
+package junitparams.mappers;
+
+import java.io.BufferedReader;
+import java.io.Reader;
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * A Data Mapper based on Buffered Reader.
+ */
+class BufferedReaderDataMapper implements DataMapper {
+
+ private final int linesToSkip;
+
+ BufferedReaderDataMapper() {
+ this(0);
+ }
+
+ BufferedReaderDataMapper(int linesToSkip) {
+ this.linesToSkip = linesToSkip;
+ }
+
+ @Override
+ public Object[] map(Reader reader) {
+ BufferedReader br = new BufferedReader(reader);
+ String line;
+ List<String> result = new LinkedList<String>();
+ int lineNo = 0;
+ try {
+ while ((line = br.readLine()) != null) {
+ if (++lineNo > linesToSkip) {
+ result.add(line);
+ }
+ }
+ return result.toArray();
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+}
diff --git a/src/main/java/junitparams/mappers/CsvWithHeaderMapper.java b/src/main/java/junitparams/mappers/CsvWithHeaderMapper.java
new file mode 100644
index 0000000..ea4ab59
--- /dev/null
+++ b/src/main/java/junitparams/mappers/CsvWithHeaderMapper.java
@@ -0,0 +1,19 @@
+package junitparams.mappers;
+
+import java.io.*;
+import java.util.*;
+
+/**
+ * Reads a CSV file starting from the second line - the first one is supposed to
+ * be a header. If you don't want to skip the first line, use &#064;FilePatameters
+ * without any mapper.
+ *
+ * @author Pawel Lipinski
+ *
+ */
+public class CsvWithHeaderMapper extends BufferedReaderDataMapper {
+
+ public CsvWithHeaderMapper() {
+ super(1);
+ }
+}
diff --git a/src/main/java/junitparams/mappers/DataMapper.java b/src/main/java/junitparams/mappers/DataMapper.java
new file mode 100644
index 0000000..200b03d
--- /dev/null
+++ b/src/main/java/junitparams/mappers/DataMapper.java
@@ -0,0 +1,31 @@
+package junitparams.mappers;
+
+import java.io.*;
+
+/**
+ * Interface to be used by FileParameters'ized test methods. If you want to read
+ * your own format of data from file, implement the map method appropriately.
+ * For CSV files, just skip it.
+ *
+ * @author Pawel Lipinski
+ *
+ */
+public interface DataMapper {
+ /**
+ * Maps file contents to parameters. In your implementation read the data
+ * from the reader. The reader is closed in the framework, so just read it
+ * :)
+ *
+ * While reading transform the data into Object[][], where external
+ * dimension are different parameter sets, and internal dimension is the set
+ * of params per single test call
+ *
+ * You can optionally return Object[] with Strings inside, but each String
+ * must be a string in the same format as what you would normally pass to
+ * &#064;Parameters({})
+ *
+ * @param reader
+ * @return an array with all parameter sets
+ */
+ Object[] map(Reader reader);
+}
diff --git a/src/main/java/junitparams/mappers/IdentityMapper.java b/src/main/java/junitparams/mappers/IdentityMapper.java
new file mode 100644
index 0000000..14bbf59
--- /dev/null
+++ b/src/main/java/junitparams/mappers/IdentityMapper.java
@@ -0,0 +1,20 @@
+package junitparams.mappers;
+
+import java.io.*;
+import java.util.*;
+
+/**
+ * A mapper, that maps contents of a file to a set of parameters for test
+ * methods. Basically a CSV with no header and ordering of columns exactly like
+ * the one in the test methods.
+ *
+ * It uses the logic from &#064;Parameters({}) for parsing lines of file, so be sure
+ * the columns in the file match exactly the ordering of arguments in the test
+ * method.
+ *
+ * @author Pawel Lipinski
+ *
+ */
+public class IdentityMapper extends BufferedReaderDataMapper{
+
+}
diff --git a/src/main/java/junitparams/naming/MacroSubstitutionNamingStrategy.java b/src/main/java/junitparams/naming/MacroSubstitutionNamingStrategy.java
new file mode 100644
index 0000000..ce56847
--- /dev/null
+++ b/src/main/java/junitparams/naming/MacroSubstitutionNamingStrategy.java
@@ -0,0 +1,123 @@
+package junitparams.naming;
+
+import junitparams.internal.TestMethod;
+import junitparams.internal.Utils;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Locale;
+import java.util.regex.Pattern;
+
+public class MacroSubstitutionNamingStrategy implements TestCaseNamingStrategy {
+ private static final String MACRO_PATTERN = "\\{[^\\}]{0,50}\\}";
+ // Pattern that keeps delimiters in split result
+ private static final Pattern MACRO_SPLIT_PATTERN = Pattern.compile(String.format("(?=%s)|(?<=%s)", MACRO_PATTERN, MACRO_PATTERN));
+ private static final String MACRO_START = "{";
+ private static final String MACRO_END = "}";
+ static final String DEFAULT_TEMPLATE = "[{index}] {params} ({method})";
+ private TestMethod method;
+
+ public MacroSubstitutionNamingStrategy(TestMethod testMethod) {
+ this.method = testMethod;
+ }
+
+ @Override
+ public String getTestCaseName(int parametersIndex, Object parameters) {
+ TestCaseName testCaseName = method.getAnnotation(TestCaseName.class);
+
+ String template = getTemplate(testCaseName);
+ String builtName = buildNameByTemplate(template, parametersIndex, parameters);
+
+ if (builtName.trim().isEmpty()) {
+ return buildNameByTemplate(DEFAULT_TEMPLATE, parametersIndex, parameters);
+ } else {
+ return builtName;
+ }
+ }
+
+ private String getTemplate(TestCaseName testCaseName) {
+ if (testCaseName != null) {
+ return testCaseName.value();
+ }
+
+ return DEFAULT_TEMPLATE;
+ }
+
+ private String buildNameByTemplate(String template, int parametersIndex, Object parameters) {
+ StringBuilder nameBuilder = new StringBuilder();
+
+ String[] parts = MACRO_SPLIT_PATTERN.split(template);
+
+ for (String part : parts) {
+ String transformedPart = transformPart(part, parametersIndex, parameters);
+ nameBuilder.append(transformedPart);
+ }
+
+ return nameBuilder.toString();
+ }
+
+ private String transformPart(String part, int parametersIndex, Object parameters) {
+ if (isMacro(part)) {
+ return lookupMacroValue(part, parametersIndex, parameters);
+ }
+
+ return part;
+ }
+
+ private String lookupMacroValue(String macro, int parametersIndex, Object parameters) {
+ String macroKey = getMacroKey(macro);
+
+ switch (Macro.parse(macroKey)) {
+ case INDEX: return String.valueOf(parametersIndex);
+ case PARAMS: return Utils.stringify(parameters);
+ case METHOD: return method.name();
+ default: return substituteDynamicMacro(macro, macroKey, parameters);
+ }
+ }
+
+ private String substituteDynamicMacro(String macro, String macroKey, Object parameters) {
+ if (isMethodParameterIndex(macroKey)) {
+ int index = parseIndex(macroKey);
+ return Utils.getParameterStringByIndexOrEmpty(parameters, index);
+ }
+
+ return macro;
+ }
+
+ private boolean isMethodParameterIndex(String macroKey) {
+ return macroKey.matches("\\d+");
+ }
+
+ private int parseIndex(String macroKey) {
+ return Integer.parseInt(macroKey);
+ }
+
+ private String getMacroKey(String macro) {
+ return macro
+ .substring(MACRO_START.length(), macro.length() - MACRO_END.length())
+ .toUpperCase(Locale.ENGLISH);
+ }
+
+ private boolean isMacro(String part) {
+ return part.startsWith(MACRO_START) && part.endsWith(MACRO_END);
+ }
+
+ private enum Macro {
+ INDEX,
+ PARAMS,
+ METHOD,
+ NONE;
+
+ public static Macro parse(String value) {
+ if (macros.contains(value)) {
+ return Macro.valueOf(value);
+ } else {
+ return Macro.NONE;
+ }
+ }
+
+ private static final HashSet<String> macros = new HashSet<String>(Arrays.asList(
+ Macro.INDEX.toString(), Macro.PARAMS.toString(), Macro.METHOD.toString())
+ );
+ }
+}
diff --git a/src/main/java/junitparams/naming/TestCaseName.java b/src/main/java/junitparams/naming/TestCaseName.java
new file mode 100644
index 0000000..4063f1a
--- /dev/null
+++ b/src/main/java/junitparams/naming/TestCaseName.java
@@ -0,0 +1,40 @@
+package junitparams.naming;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/**
+ * Use this annotation to specify the name for individual test case.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+public @interface TestCaseName {
+
+ /**
+ * A template of the individual test case name.
+ * This template can contain macros, which will be substituted by their actual values at runtime.
+ * <p>
+ * Supported macros are:
+ * <ul>
+ * <li><b>{index}</b> - index of parameters set (starts from zero). Hint: use it to avoid names duplication.</li>
+ * <li><b>{params}</b> - parameters set joined by comma.</li>
+ * <li><b>{method}</b> - testing method name.</li>
+ * <li>
+ * <b>{0}</b>, <b>{1}</b>, <b>{2}</b> - single parameter by index in current parameters set.
+ * If there is no parameter with such index, it will use empty string.
+ * </li>
+ * </ul>
+ * Lets assume, that we are testing Fibonacci sequence generator. We have a test with the following signature
+ * <pre><code>
+ * {@literal @}Parameters({ "0,1", "8,34" })
+ * public void testFibonacci(int indexInSequence, int expectedNumber) { ... }
+ * </code></pre>
+ * Here are some examples, that can be used as a test name template:
+ * <ul>
+ * <li>{method}({params}) => testFibonacci(0, 1), testFibonacci(8, 34)</li>
+ * <li>fibonacci({0}) = {1} => fibonacci(0) = 1, fibonacci(8) = 34</li>
+ * <li>{0} element should be {1} => 0 element should be 1, 8 element should be 34</li>
+ * <li>Fibonacci sequence test #{index} => Fibonacci sequence test #0, Fibonacci sequence test #1</li>
+ * </ul>
+ */
+ String value() default MacroSubstitutionNamingStrategy.DEFAULT_TEMPLATE;
+} \ No newline at end of file
diff --git a/src/main/java/junitparams/naming/TestCaseNamingStrategy.java b/src/main/java/junitparams/naming/TestCaseNamingStrategy.java
new file mode 100644
index 0000000..478b96c
--- /dev/null
+++ b/src/main/java/junitparams/naming/TestCaseNamingStrategy.java
@@ -0,0 +1,8 @@
+package junitparams.naming;
+
+/**
+ * A strategy that can resolve a test case method name by it's parameters.
+ */
+public interface TestCaseNamingStrategy {
+ String getTestCaseName(int parametersIndex, Object parameters);
+}
diff --git a/src/test/java/junitparams/AssumptionsTest.java b/src/test/java/junitparams/AssumptionsTest.java
new file mode 100644
index 0000000..19419cb
--- /dev/null
+++ b/src/test/java/junitparams/AssumptionsTest.java
@@ -0,0 +1,19 @@
+package junitparams;
+
+import static org.assertj.core.api.Assertions.*;
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assume.*;
+
+import org.junit.*;
+import org.junit.runner.*;
+
+@RunWith(JUnitParamsRunner.class)
+public class AssumptionsTest {
+
+ @Test
+ @Parameters({ "true", "false" })
+ public void assumeOnceWorksAndOnceIgnores(boolean value) {
+ assumeThat(value, is(true));
+ assertThat(value).isTrue();
+ }
+}
diff --git a/src/test/java/junitparams/BeforeAfterClassTest.java b/src/test/java/junitparams/BeforeAfterClassTest.java
new file mode 100644
index 0000000..8ccfcc5
--- /dev/null
+++ b/src/test/java/junitparams/BeforeAfterClassTest.java
@@ -0,0 +1,28 @@
+package junitparams;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import org.junit.*;
+import org.junit.runner.*;
+
+@RunWith(JUnitParamsRunner.class)
+public class BeforeAfterClassTest {
+
+ private static boolean val = false;
+
+ @BeforeClass
+ public static void before() {
+ val = true;
+ }
+
+ @AfterClass
+ public static void after() {
+ val = false;
+ }
+
+ @Test
+ @Parameters({ " " })
+ public void test(String param) {
+ assertThat(val).isTrue();
+ }
+}
diff --git a/src/test/java/junitparams/CastingParamsTest.java b/src/test/java/junitparams/CastingParamsTest.java
new file mode 100644
index 0000000..83414a2
--- /dev/null
+++ b/src/test/java/junitparams/CastingParamsTest.java
@@ -0,0 +1,62 @@
+package junitparams;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import java.util.*;
+
+import org.junit.*;
+import org.junit.runner.*;
+
+import junitparams.usage.person_example.*;
+
+@RunWith(JUnitParamsRunner.class)
+public class CastingParamsTest {
+
+ @Test
+ @Parameters
+ public void wrapWithTypeBySingleArgConstructor(PersonTest.Person person) {
+ assertThat(person.getAge()).isGreaterThan(0);
+ }
+ List<Integer> parametersForWrapWithTypeBySingleArgConstructor() {
+ return Arrays.asList(1, 2);
+ }
+
+ @Test
+ @Parameters
+ public void wrapWithTypeByMultiArgConstructor(PersonTest.Person person) {
+ assertThat(person.getAge()).isGreaterThan(0);
+ }
+ Object parametersForWrapWithTypeByMultiArgConstructor() {
+ return new Object[]{new Object[]{"first", 1}, new Object[]{"second", 2}};
+ }
+
+ @Test
+ @Parameters
+ public void cartoonCharacters(PersonTest.Person character) {
+ assertThat(character.getName()).isIn("Tarzan", "Jane");
+ assertThat(character.getAge()).isIn(0, 20);
+ }
+
+ private List<?> parametersForCartoonCharacters() {
+ return Arrays.asList(
+ new Object[]{"Tarzan", 0},
+ new Object[]{"Jane", 20}
+ );
+ }
+
+ @Test
+ @Parameters(method = "strings")
+ public void stringArrayFromMethod(String... values) {
+ assertThat(values).containsOnlyOnce("1", "2");
+ }
+ private Object strings() {
+ return new Object[]{new Object[]{"1", "2"}, new Object[]{"2", "1"}};
+ }
+
+ @Test
+ @Parameters({"a,b", "b,a"})
+ public void stringArrayFromAnnotation(String... values) {
+ assertThat(values).containsOnlyOnce("a","b");
+ }
+
+}
diff --git a/src/test/java/junitparams/ClassesAsParamsTest.java b/src/test/java/junitparams/ClassesAsParamsTest.java
new file mode 100644
index 0000000..7d199c2
--- /dev/null
+++ b/src/test/java/junitparams/ClassesAsParamsTest.java
@@ -0,0 +1,22 @@
+package junitparams;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import static org.assertj.core.api.Assertions.*;
+
+@RunWith(JUnitParamsRunner.class)
+public class ClassesAsParamsTest {
+
+ @Test
+ @Parameters({"java.lang.Object", "java.lang.String"})
+ public void passClassAsString(Class<?> clazz) {
+ assertThat(clazz).isIn(java.lang.Object.class, java.lang.String.class);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ @Parameters("no.package.NoSuchClass")
+ public void illegalArgumentExceptionWhenClassNotFound(Class<?> clazz) {
+ fail("Should fail on test invocation");
+ }
+}
diff --git a/src/test/java/junitparams/EnumsAsParamsTest.java b/src/test/java/junitparams/EnumsAsParamsTest.java
new file mode 100644
index 0000000..621cfed
--- /dev/null
+++ b/src/test/java/junitparams/EnumsAsParamsTest.java
@@ -0,0 +1,28 @@
+package junitparams;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import org.junit.*;
+import org.junit.runner.*;
+
+import junitparams.usage.person_example.*;
+
+@RunWith(JUnitParamsRunner.class)
+public class EnumsAsParamsTest {
+
+ @Test
+ @Parameters({"SOME_VALUE", "OTHER_VALUE"})
+ public void passEnumAsString(PersonType person) {
+ assertThat(person).isIn(PersonType.SOME_VALUE, PersonType.OTHER_VALUE);
+ }
+
+ @Test
+ @Parameters
+ public void passEnumFromMethod(PersonType person) {
+ assertThat(person).isIn(parametersForPassEnumFromMethod());
+ }
+
+ private PersonType[] parametersForPassEnumFromMethod() {
+ return new PersonType[] {PersonType.SOME_VALUE, PersonType.OTHER_VALUE};
+ }
+}
diff --git a/src/test/java/junitparams/FileParamsTest.java b/src/test/java/junitparams/FileParamsTest.java
new file mode 100644
index 0000000..b581400
--- /dev/null
+++ b/src/test/java/junitparams/FileParamsTest.java
@@ -0,0 +1,56 @@
+package junitparams;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import junitparams.mappers.CsvWithHeaderMapper;
+import junitparams.usage.person_example.PersonMapper;
+import junitparams.usage.person_example.PersonTest.Person;
+
+import static org.assertj.core.api.Assertions.*;
+
+@RunWith(JUnitParamsRunner.class)
+public class FileParamsTest {
+
+ @Test
+ @FileParameters("src/test/resources/test.csv")
+ public void loadParamsFromFileWithIdentityMapper(int age, String name) {
+ assertThat(age).isGreaterThan(0);
+ }
+
+ @Test
+ @FileParameters(value = "src/test/resources/test.csv", mapper = PersonMapper.class)
+ public void loadParamsFromFileWithCustomMapper(Person person) {
+ assertThat(person.getAge()).isGreaterThan(0);
+ }
+
+ @Test
+ @FileParameters("classpath:test.csv")
+ public void loadParamsFromFileAtClasspath(int age, String name) {
+ assertThat(age).isGreaterThan(0);
+ }
+
+ @Test
+ @FileParameters("file:src/test/resources/test.csv")
+ public void loadParamsFromFileAtFilesystem(int age, String name) {
+ assertThat(age).isGreaterThan(0);
+ }
+
+ @Test
+ @FileParameters(value = "classpath:with_header.csv", mapper = CsvWithHeaderMapper.class)
+ public void csvWithHeader(int id, String name) {
+ assertThat(id).isGreaterThan(0);
+ }
+
+ @Test
+ @FileParameters(value = "classpath:with_special_chars.csv", encoding = "UTF-8")
+ public void loadParamWithCorrectEncoding(String value) {
+ assertThat(value).isEqualTo("åäöÅÄÖ");
+ }
+
+ @Test
+ @FileParameters(value = "classpath:with_special_chars.csv", encoding = "ISO-8859-1")
+ public void loadParamWithWrongEncoding(String value) {
+ assertThat(value).isNotEqualTo("åäöÅÄÖ");
+ }
+}
diff --git a/src/test/java/junitparams/FilterableTest.java b/src/test/java/junitparams/FilterableTest.java
new file mode 100644
index 0000000..05b2b4c
--- /dev/null
+++ b/src/test/java/junitparams/FilterableTest.java
@@ -0,0 +1,82 @@
+package junitparams;
+
+import org.junit.Test;
+import org.junit.runner.Description;
+import org.junit.runner.JUnitCore;
+import org.junit.runner.Request;
+import org.junit.runner.Result;
+import org.junit.runner.manipulation.Filter;
+
+import static org.assertj.core.api.Assertions.*;
+
+public class FilterableTest {
+
+ @Test
+ public void shouldRunAllTests() throws Exception {
+ Request request = Request.aClass(SampleTestCase.class);
+
+ Result result = new JUnitCore().run(request);
+
+ assertThat(result.getRunCount()).isEqualTo(3);
+ }
+
+ @Test
+ public void shouldRunSingleTestWithoutParameters() throws Exception {
+ Request request = requestSingleMethodRun(SampleTestCase.class, "firstTestMethod");
+
+ Result result = new JUnitCore().run(request);
+
+ assertThat(result.getRunCount()).isEqualTo(1);
+ }
+
+ @Test
+ public void shouldRunParametrisedTest() throws Exception {
+ Request request = requestSingleMethodRun(SampleTestCase.class, "secondTestMethod");
+
+ Result result = new JUnitCore().run(request);
+
+ assertThat(result.getRunCount()).isEqualTo(2);
+ }
+
+ @Test
+ public void shouldReturnOneDescriptionForSimpleTestCase() throws Exception {
+ Request request = requestSingleMethodRun(SampleTestCase.class, "firstTestMethod");
+
+ Description description = request.getRunner().getDescription();
+
+ assertThat(description.getChildren()).hasSize(1);
+ assertThat(description.getChildren().get(0).getChildren()).hasSize(0);
+ }
+
+ @Test
+ public void shouldReturnParametrizedDescriptionsForParametrizedTestCase() throws Exception {
+ Request request = requestSingleMethodRun(SampleTestCase.class, "secondTestMethod");
+
+ Description description = request.getRunner().getDescription();
+
+ assertThat(description.getChildren()).hasSize(1);
+ assertThat(description.getChildren().get(0).getChildren()).hasSize(2);
+ }
+
+ private Request requestSingleMethodRun(Class<SampleTestCase> clazz, String methodName) {
+ return Request.aClass(clazz).filterWith(new SingleMethodFilter(methodName));
+ }
+
+ private static class SingleMethodFilter extends Filter {
+ private final String methodName;
+
+ public SingleMethodFilter(String methodName) {
+ this.methodName = methodName;
+ }
+
+ @Override
+ public boolean shouldRun(Description description) {
+ return description.getDisplayName().contains(methodName);
+ }
+
+ @Override
+ public String describe() {
+ return methodName;
+ }
+ }
+}
diff --git a/src/test/java/junitparams/IgnoringTest.java b/src/test/java/junitparams/IgnoringTest.java
new file mode 100644
index 0000000..ef667bd
--- /dev/null
+++ b/src/test/java/junitparams/IgnoringTest.java
@@ -0,0 +1,46 @@
+package junitparams;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.Assert.fail;
+
+import org.junit.*;
+import org.junit.runner.*;
+
+@RunWith(JUnitParamsRunner.class)
+public class IgnoringTest {
+
+ @Test
+ @Ignore
+ public void ignoreMeNoParams() {
+ fail("Should be ignored");
+ }
+
+ @Test
+ @Ignore
+ @Parameters("")
+ public void ignoreMeWithParams() {
+ fail("Should be ignored");
+ }
+
+ @Test
+ public void dontIgnoreMeNoParams() {
+ }
+
+ @Test
+ @Parameters("")
+ public void dontIgnoreMeWithParams(String a) {
+ assertThat(a).isEqualTo("");
+ }
+
+ @Test
+ @Ignore
+ @Parameters(method = "someMethod")
+ public void shouldNotTryToInvokeMethodWhenTestIgnored(Object a) {
+ fail("Should be ignored");
+ }
+
+ private Object[] someMethod() {
+ fail("Should not be called");
+ return null;
+ }
+}
diff --git a/src/test/java/junitparams/InstantiatingTestClassOnceTest.java b/src/test/java/junitparams/InstantiatingTestClassOnceTest.java
new file mode 100644
index 0000000..9449bdf
--- /dev/null
+++ b/src/test/java/junitparams/InstantiatingTestClassOnceTest.java
@@ -0,0 +1,23 @@
+package junitparams;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(JUnitParamsRunner.class)
+public class InstantiatingTestClassOnceTest {
+
+ private static final int NUMBER_OF_TEST_METHODS_IN_THIS_CLASS = 1;
+ private static int instantiationsCount = 0;
+
+ @Test
+ public void shouldBeInstantiatedOncePerTestMethod() {
+ assertThat(instantiationsCount).isEqualTo(NUMBER_OF_TEST_METHODS_IN_THIS_CLASS);
+ }
+
+ public InstantiatingTestClassOnceTest() {
+ instantiationsCount++;
+ }
+
+} \ No newline at end of file
diff --git a/src/test/java/junitparams/IterableMethodTest.java b/src/test/java/junitparams/IterableMethodTest.java
new file mode 100644
index 0000000..7d2e357
--- /dev/null
+++ b/src/test/java/junitparams/IterableMethodTest.java
@@ -0,0 +1,36 @@
+package junitparams;
+
+import static org.assertj.core.api.Assertions.*;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(JUnitParamsRunner.class)
+public class IterableMethodTest {
+
+ @Test
+ @Parameters
+ public void shouldHandleIterables(String a) {
+ assertThat(a).isEqualTo("a");
+ }
+
+ public List<Object[]> parametersForShouldHandleIterables() {
+ ArrayList<Object[]> params = new ArrayList<Object[]>();
+ params.add(new Object[]{"a"});
+ return params;
+ }
+
+ @Test
+ @Parameters
+ public void shouldHandleSimplifiedIterables(String a) {
+ assertThat(a).isEqualTo("a");
+ }
+
+ public List<String> parametersForShouldHandleSimplifiedIterables() {
+ return Arrays.asList("a");
+ }
+} \ No newline at end of file
diff --git a/src/test/java/junitparams/IteratorMethodTest.java b/src/test/java/junitparams/IteratorMethodTest.java
new file mode 100644
index 0000000..219643f
--- /dev/null
+++ b/src/test/java/junitparams/IteratorMethodTest.java
@@ -0,0 +1,44 @@
+package junitparams;
+
+import static org.junit.Assert.assertEquals;
+
+import java.util.*;
+
+import org.junit.*;
+import org.junit.runner.*;
+
+@RunWith(JUnitParamsRunner.class)
+public class IteratorMethodTest {
+ private static boolean firstCalled = false;
+
+ @Test
+ @Parameters
+ public void shouldHandleIteratorsWithObject(String a) {
+ assertEquals(1, a.length());
+ if(a.equals("a")) firstCalled = true;
+ else assertEquals(firstCalled, true);
+ }
+
+ public Iterator<Object> parametersForShouldHandleIteratorsWithObject() {
+ ArrayList<Object> params = new ArrayList<Object>();
+ params.add("a");
+ params.add("b");
+ return params.iterator();
+ }
+
+ @Test
+ @Parameters
+ public void shouldHandleIteratorsWithObjectArray(String a) {
+ assertEquals(1, a.length());
+ if(a.equals("a")) firstCalled = true;
+ else assertEquals(firstCalled, true);
+ }
+
+ public Iterator<Object[]> parametersForShouldHandleIteratorsWithObjectArray() {
+ ArrayList<Object[]> params = new ArrayList<Object[]>();
+ params.add(new Object[]{"a"});
+ params.add(new Object[]{"b"});
+ return params.iterator();
+ }
+
+} \ No newline at end of file
diff --git a/src/test/java/junitparams/MethodAnnotationArgumentTest.java b/src/test/java/junitparams/MethodAnnotationArgumentTest.java
new file mode 100644
index 0000000..94999be
--- /dev/null
+++ b/src/test/java/junitparams/MethodAnnotationArgumentTest.java
@@ -0,0 +1,83 @@
+package junitparams;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import java.util.Arrays;
+import java.util.List;
+
+import junitparams.usage.person_example.PersonTest;
+import junitparams.usage.person_example.PersonTest.Person;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@SuppressWarnings("unused")
+@RunWith(JUnitParamsRunner.class)
+public class MethodAnnotationArgumentTest {
+
+ @Test
+ @Parameters(method = "return1")
+ public void testSingleMethodName(int number) {
+ assertThat(number).isEqualTo(1);
+ }
+
+ private Integer[] return1() {
+ return new Integer[] { 1 };
+ }
+
+ @Test
+ @Parameters(method = "return1,return2")
+ public void testMultipleMethodNames(int number) {
+ assertThat(number)
+ .isLessThanOrEqualTo(2)
+ .isGreaterThanOrEqualTo(1);
+ }
+
+ @Test
+ @Parameters(method = "return1, return2")
+ public void testMultipleMethodNamesWithWhitespaces(int number) {
+ assertThat(number)
+ .isLessThanOrEqualTo(2)
+ .isGreaterThanOrEqualTo(1);
+ }
+
+ private Integer[] return2() {
+ return new Integer[] { 2 };
+ }
+
+ @Test
+ @Parameters(source = PersonTest.class, method = "adultValues")
+ public void testSingleMethodFromDifferentClass(int age, boolean valid) {
+ assertThat(new Person(age).isAdult()).isEqualTo(valid);
+ }
+
+ @Test
+ @Parameters(method = "stringParamsWithNull")
+ public void shouldPassStringParamsWithNullFromMethod(String parameter) {
+ // given
+ List<String> acceptedParams = Arrays.asList("1", "2", "3", null);
+
+ // then
+ assertThat(acceptedParams).contains(parameter);
+ }
+
+ Object[] stringParamsWithNull() {
+ return genericArray("1", "2", "3", null);
+ }
+
+ @Test
+ @Parameters(method = "multiStringParams")
+ public void shouldPassMultiStringParams(String first, String second) {
+ assertThat(first).isEqualTo(second);
+ }
+
+ Object[] multiStringParams() {
+ return genericArray(
+ genericArray("test", "test"),
+ genericArray("ble", "ble"));
+ }
+
+ private static <T> T[] genericArray(T... elements) {
+ return elements;
+ }
+}
diff --git a/src/test/java/junitparams/MultipleParameterProvidersTest.java b/src/test/java/junitparams/MultipleParameterProvidersTest.java
new file mode 100644
index 0000000..70fe386
--- /dev/null
+++ b/src/test/java/junitparams/MultipleParameterProvidersTest.java
@@ -0,0 +1,41 @@
+package junitparams;
+
+import junitparams.internal.parameters.ParametersReader;
+import org.junit.Test;
+import org.junit.runner.JUnitCore;
+import org.junit.runner.Result;
+import org.junit.runner.RunWith;
+import org.junit.runner.notification.Failure;
+
+import static org.junit.Assert.assertEquals;
+
+import static java.lang.String.format;
+
+public class MultipleParameterProvidersTest {
+
+ @RunWith(JUnitParamsRunner.class)
+ private class CantInitializeWithValueAndMethodProvider {
+ private Object[] extraProvider() {
+ return new Object[][]{
+ {"test", "test"},
+ };
+ }
+
+ @Parameters(value = {"test, test"}, method = "extraProvider")
+ @Test
+ public void testWithValueAndMethodProviders(String input, String output) {
+ assertEquals(input, output);
+ }
+ }
+
+ @Test
+ public void testWithValueAndMethodProvidersThrowsIllegalStateException() {
+ Result testResult = JUnitCore.runClasses(CantInitializeWithValueAndMethodProvider.class);
+ assertEquals(1, testResult.getFailureCount());
+
+ Failure testFailure = testResult.getFailures().iterator().next();
+ assertEquals(IllegalStateException.class, testFailure.getException().getClass());
+ assertEquals(format(ParametersReader.ILLEGAL_STATE_EXCEPTION_MESSAGE, "testWithValueAndMethodProviders"),
+ testFailure.getMessage());
+ }
+}
diff --git a/src/test/java/junitparams/NullValuesTest.java b/src/test/java/junitparams/NullValuesTest.java
new file mode 100644
index 0000000..25d68d1
--- /dev/null
+++ b/src/test/java/junitparams/NullValuesTest.java
@@ -0,0 +1,43 @@
+package junitparams;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import org.junit.*;
+import org.junit.runner.*;
+
+@RunWith(JUnitParamsRunner.class)
+public class NullValuesTest {
+
+ private Object[] expectedSingleParams = new Object[]{null, "string", Long.valueOf(1)};
+
+ private static int expectedSingleParamsIndex;
+
+ private Object[] expectedMultipleParams = multipleParams();
+ private static int expectedMultipleParamsIndex;
+
+ @Test
+ @Parameters(method = "singleParams")
+ public void passesForSingleParametersListWithTheWorkaround(Object param) {
+ assertThat(param).isEqualTo(expectedSingleParams[expectedSingleParamsIndex]);
+ expectedSingleParamsIndex++;
+ }
+
+ public Object[] singleParams() {
+ return new Object[]{new Object[]{null}, "string", Long.valueOf(1)};
+ }
+
+ @Test
+ @Parameters(method = "multipleParams")
+ public void passesForMultipleParametersOutOfBox(Object param1, Object param2, Object param3) {
+ assertThat(param1).isEqualTo(((Object[]) expectedMultipleParams[expectedMultipleParamsIndex])[0]);
+ assertThat(param2).isEqualTo(((Object[]) expectedMultipleParams[expectedMultipleParamsIndex])[1]);
+ assertThat(param3).isEqualTo(((Object[]) expectedMultipleParams[expectedMultipleParamsIndex])[2]);
+ expectedMultipleParamsIndex++;
+ }
+
+ public Object[] multipleParams() {
+ return new Object[]{new Object[]{null, "string", null}, new Object[]{"string", Long
+ .valueOf(1), null}, new Object[]{null, null, null}};
+ }
+
+}
diff --git a/src/test/java/junitparams/ObjectStringificationTest.java b/src/test/java/junitparams/ObjectStringificationTest.java
new file mode 100644
index 0000000..79507d0
--- /dev/null
+++ b/src/test/java/junitparams/ObjectStringificationTest.java
@@ -0,0 +1,94 @@
+package junitparams;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import junitparams.internal.Utils;
+
+import static junitparams.JUnitParamsRunner.*;
+import static junitparams.internal.Utils.*;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.Assert.fail;
+
+
+@RunWith(JUnitParamsRunner.class)
+public class ObjectStringificationTest {
+
+ @Test
+ public void stringifyString() throws Exception {
+ assertThat(stringify("exampleName", 0)).isEqualTo("[0] exampleName");
+ }
+
+ @Test
+ public void stringifyClassWithToStringAndOneParam() throws Exception {
+ ClassWithToString obj = new ClassWithToString("exampleName");
+
+ assertThat(stringify(obj, 0)).isEqualTo("[0] exampleName");
+ }
+
+ @Test
+ public void stringifyClassWithToStringAndManyParams() throws Exception {
+ ClassWithToString obj1 = new ClassWithToString("one");
+ ClassWithToString obj2 = new ClassWithToString("two");
+
+ assertThat(stringify(new Object[]{obj1, obj2}, 0)).isEqualTo("[0] one, two");
+ }
+
+ @Test
+ public void stringifyClassWithToStringInSuperclass() throws Exception {
+ ClassWithToString obj = new ClassWithToString("exampleName");
+
+ assertThat(Utils.stringify(obj, 0)).isEqualTo("[0] exampleName");
+ }
+
+ private class ClassWithToString {
+ private String description;
+
+ public ClassWithToString(String description) {
+ this.description = description;
+ }
+
+ @Override
+ public String toString() {
+ return description;
+ }
+ }
+
+ @Test
+ public void stringifyArray() {
+ Double[] nullArray = null;
+ int[] primitiveArray = {1, 2, 3};
+ String[] array = {"one", "two", null};
+ Object[] mixed = $(
+ $(nullArray, "stringOne", primitiveArray, "stringTwo", array)
+ );
+
+ assertThat(Utils.stringify(mixed)).isEqualTo("null, stringOne, [1, 2, 3], stringTwo, [one, two, null]");
+ }
+
+ @Test
+ @Parameters
+ public void shouldCreateParameterObjectsOnce(Object object) {
+ assertThat(object).isInstanceOf(A.class);
+ }
+
+ public Object[] parametersForShouldCreateParameterObjectsOnce() {
+ return new Object[]{new A()};
+ }
+
+ static class A {
+ static int instances = 0;
+ String test = "test";
+
+ A() {
+ if (++instances > 1) {
+ fail();
+ }
+ }
+
+ @Override
+ public String toString() {
+ return "[0] exampleName" + super.toString();
+ }
+ }
+}
diff --git a/src/test/java/junitparams/OverloadedTestMethodNameTest.java b/src/test/java/junitparams/OverloadedTestMethodNameTest.java
new file mode 100644
index 0000000..e3a2380
--- /dev/null
+++ b/src/test/java/junitparams/OverloadedTestMethodNameTest.java
@@ -0,0 +1,27 @@
+package junitparams;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import org.junit.*;
+import org.junit.runner.*;
+
+@RunWith(JUnitParamsRunner.class)
+public class OverloadedTestMethodNameTest {
+
+ @Test
+ public void aTest() {
+ }
+
+ @Test
+ @Parameters({ "1", "2" })
+ public void aTest(int number) {
+ assertThat(number).isIn(1, 2);
+ }
+
+ @Test
+ @Parameters({ "1,2" })
+ public void aTest(int number1, int number2) {
+ assertThat(number1).isEqualTo(1);
+ assertThat(number2).isEqualTo(2);
+ }
+}
diff --git a/src/test/java/junitparams/ParametersConvertedWithPropertyEditorTest.java b/src/test/java/junitparams/ParametersConvertedWithPropertyEditorTest.java
new file mode 100644
index 0000000..9d71418
--- /dev/null
+++ b/src/test/java/junitparams/ParametersConvertedWithPropertyEditorTest.java
@@ -0,0 +1,44 @@
+package junitparams;
+
+import java.beans.PropertyEditorManager;
+import java.beans.PropertyEditorSupport;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import static org.assertj.core.api.Assertions.*;
+
+@RunWith(JUnitParamsRunner.class)
+public class ParametersConvertedWithPropertyEditorTest {
+
+ @BeforeClass
+ public static void registerEditors() {
+ PropertyEditorManager.registerEditor(StringWrapper.class, StringWrapperPropertyEditor.class);
+ }
+
+ @Test
+ @Parameters({"wrapped , wrapped"})
+ public void convertsToCustomType(StringWrapper wrapper, String text) {
+ assertThat(wrapper.getText()).isEqualTo(text);
+ }
+
+ public static class StringWrapperPropertyEditor extends PropertyEditorSupport {
+ @Override
+ public void setAsText(String text) throws IllegalArgumentException {
+ setValue(new StringWrapper(text));
+ }
+ }
+
+ private static class StringWrapper {
+ private String text;
+
+ StringWrapper(String text) {
+ this.text = text;
+ }
+
+ String getText() {
+ return text;
+ }
+ }
+}
diff --git a/src/test/java/junitparams/ParametersForEnumTest.java b/src/test/java/junitparams/ParametersForEnumTest.java
new file mode 100644
index 0000000..30645e7
--- /dev/null
+++ b/src/test/java/junitparams/ParametersForEnumTest.java
@@ -0,0 +1,35 @@
+package junitparams;
+
+import static org.assertj.core.api.Assertions.*;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.junit.AfterClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(JUnitParamsRunner.class)
+public class ParametersForEnumTest {
+
+ private static Set<Fruit> testedFruits = new HashSet<Fruit>();
+
+ @AfterClass
+ public static void checkAllFruitsTested() {
+ assertThat(testedFruits).contains(Fruit.class.getEnumConstants());
+ }
+
+ @Test
+ @Parameters(source = Fruit.class)
+ public void testAFruit(Fruit fruit) throws Exception {
+ testedFruits.add(fruit);
+ }
+
+ public enum Fruit {
+ APPLE,
+ BANANA,
+ PEAR,
+ PLUM
+ }
+
+}
diff --git a/src/test/java/junitparams/ParametersReaderForMethodTest.java b/src/test/java/junitparams/ParametersReaderForMethodTest.java
new file mode 100644
index 0000000..4e4d07f
--- /dev/null
+++ b/src/test/java/junitparams/ParametersReaderForMethodTest.java
@@ -0,0 +1,65 @@
+package junitparams;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.Assert.fail;
+
+import org.junit.*;
+import org.junit.runner.*;
+
+@SuppressWarnings("unused")
+@RunWith(JUnitParamsRunner.class)
+public class ParametersReaderForMethodTest {
+
+ @Test
+ @Parameters
+ public void oneParamDifferentTypes(int number, String a) {
+ assertThat(number).isEqualTo(1);
+ assertThat(a).isEqualTo("a");
+ }
+
+ private Object[] parametersForOneParamDifferentTypes() {
+ return new Object[]{1, "a"};
+ }
+
+ @Test
+ @Parameters
+ public void oneParamSetOneNull(String a, String b) {
+ assertThat(a).isNull();
+ assertThat(b).isEqualTo("b");
+ }
+
+ private Object[] parametersForOneParamSetOneNull() {
+ return new Object[]{null, "b"};
+ }
+
+ @Test
+ @Parameters
+ public void noToString(NoToStringObject o) {
+ assertThat(o).isNotNull();
+ }
+
+ private Object[] parametersForNoToString() {
+ return new Object[]{new NoToStringObject()};
+ }
+
+ public class NoToStringObject {
+ }
+
+ @Test
+ @Parameters
+ public void shouldIgnoreWhenEmptyParamset() {
+ fail();
+ }
+
+ private Object[] parametersForShouldIgnoreWhenEmptyParamset() {
+ return new Object[] {};
+ }
+
+ @Test
+ @Parameters({ "a \n \\,\\|b", "\\,a(asdf)\\|", "\\,", "", "\r\n" })
+ public void escapedSpecialCharsInParam(String a) {
+ assertThat(a).
+ isIn("a \n ,|b", ",a(asdf)|", ",", "").
+ isNotIn("a \n \\,\\|b", "\\,a(asdf)\\|", "\\,", "\r\n");
+ }
+}
diff --git a/src/test/java/junitparams/ParametersReaderProvidersTest.java b/src/test/java/junitparams/ParametersReaderProvidersTest.java
new file mode 100644
index 0000000..d3992b6
--- /dev/null
+++ b/src/test/java/junitparams/ParametersReaderProvidersTest.java
@@ -0,0 +1,103 @@
+package junitparams;
+
+import junitparams.internal.ParameterisedTestMethodRunner;
+import junitparams.internal.TestMethod;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.junit.runner.RunWith;
+import org.junit.runners.model.FrameworkMethod;
+import org.junit.runners.model.TestClass;
+
+import java.lang.reflect.Method;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+@RunWith(JUnitParamsRunner.class)
+public class ParametersReaderProvidersTest {
+
+ @Rule
+ public ExpectedException exception = ExpectedException.none();
+
+ @Test
+ @Parameters(source = SingleParamSetProvider.class)
+ public void oneParamSetFromClass(String a, String b) {
+ assertThat(a).isEqualTo("a");
+ assertThat(b).isEqualTo("b");
+ }
+
+ public static class SingleParamSetProvider {
+ public static Object[] provideOneParamSetSameTypes() {
+ return new Object[]{"a", "b"};
+ }
+ }
+
+ @Test
+ public void shouldPutProviderClassNameInExceptionMessageForProviderWithNoValidMethods() {
+ ParameterisedTestMethodRunner runner = new ParameterisedTestMethodRunner(getTestMethodWithInvalidProvider());
+
+ exception.expect(RuntimeException.class);
+ exception.expectMessage(ProviderClassWithNoValidMethods.class.getName());
+ runner.method.parametersSets();
+ }
+
+ private TestMethod getTestMethodWithInvalidProvider() {
+ Method testMethod = TestClassWithProviderClassWithNoValidMethods.class.getMethods()[0];
+ return new TestMethod(new FrameworkMethod(testMethod), new TestClass(TestClassWithProviderClassWithNoValidMethods.class));
+ }
+
+ @RunWith(JUnitParamsRunner.class)
+ static class TestClassWithProviderClassWithNoValidMethods {
+ @Test
+ @Parameters(source = ProviderClassWithNoValidMethods.class)
+ public void shouldDoNothingItsJustToConnectTestClassWithProvider() {
+ }
+ }
+
+ static class ProviderClassWithNoValidMethods {
+ }
+
+ @Test
+ @Parameters(source = OneIntegerProvider.class)
+ public void providedPrimitiveParams(int integer) {
+ assertThat(integer).isLessThan(4);
+ }
+
+ public static class OneIntegerProvider {
+ public static Object[] provideTwoNumbers() {
+ return new Object[]{new Object[]{1}, new Object[]{2}};
+ }
+
+ public static Object[] provideOneNumber() {
+ return new Object[]{new Object[]{3}};
+ }
+ }
+
+ @Test
+ @Parameters(source = DomainObjectProvider.class)
+ public void providedDomainParams(DomainClass object1, DomainClass object2) {
+ assertThat(object1.toString()).isEqualTo("testNameOne");
+ assertThat(object2.toString()).isEqualTo("testNameTwo");
+ }
+
+ public static class DomainObjectProvider {
+ public static Object[] provideDomainObject() {
+ return new Object[]{new Object[]{
+ new DomainClass("testNameOne"),
+ new DomainClass("testNameTwo")}};
+ }
+ }
+
+ public static class DomainClass {
+ private final String name;
+
+ public DomainClass(String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String toString() {
+ return name;
+ }
+ }
+}
diff --git a/src/test/java/junitparams/ParamsConverterTest.java b/src/test/java/junitparams/ParamsConverterTest.java
new file mode 100644
index 0000000..0bdd5a1
--- /dev/null
+++ b/src/test/java/junitparams/ParamsConverterTest.java
@@ -0,0 +1,168 @@
+package junitparams;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import junitparams.converters.ConversionFailedException;
+import junitparams.converters.ConvertParam;
+import junitparams.converters.Converter;
+import junitparams.converters.Param;
+import junitparams.converters.ParamConverter;
+
+import static org.assertj.core.api.Assertions.*;
+
+@RunWith(JUnitParamsRunner.class)
+public class ParamsConverterTest {
+
+ @Test
+ @Parameters({"01.12.2012"})
+ public void convertSingleParam(
+ @ConvertParam(value = StringToDateConverter.class, options = "dd.MM.yyyy") Date date) {
+ Calendar calendar = createCalendarWithDate(date);
+ assertCalendarDate(calendar);
+ }
+
+ @Test
+ @Parameters({"01.12.2012,A"})
+ public void convertMultipleParams(
+ @ConvertParam(value = StringToDateConverter.class, options = "dd.MM.yyyy") Date date,
+ @ConvertParam(LetterToNumberConverter.class) int num) {
+ Calendar calendar = createCalendarWithDate(date);
+ assertCalendarDate(calendar);
+ assertThat(num).isEqualTo(1);
+ }
+
+ @Test
+ @Parameters(method = "params")
+ public void convertParamsFromMethod(
+ @ConvertParam(value = StringToDateConverter.class, options = "dd.MM.yyyy") Date date) {
+ Calendar calendar = createCalendarWithDate(date);
+ assertCalendarDate(calendar);
+ }
+
+ @Test
+ @Parameters({"01.12.2012"})
+ public void convertParamsUsingParamAnnotation(@Param(converter = SimpleDateConverter.class) Date date) {
+ Calendar calendar = createCalendarWithDate(date);
+ assertCalendarDate(calendar);
+ }
+
+ @Test
+ @Parameters({"01.12.2012"})
+ public void convertParamsUsingCustomParamAnnotation(@DateParam Date date) {
+ Calendar calendar = createCalendarWithDate(date);
+ assertCalendarDate(calendar);
+ }
+
+ @Test
+ @Parameters(method = "params")
+ public void convertParamsFromMethodUsingCustomParamAnnotation(@DateParam Date date) {
+ Calendar calendar = createCalendarWithDate(date);
+ assertCalendarDate(calendar);
+ }
+
+ private List<String> params() {
+ return Arrays.asList("01.12.2012");
+ }
+
+ @Test
+ @Parameters({"2012-12-01"})
+ public void convertParamsUsingCustomParamAnnotationOverridingAttributes(@DateParam(format = "yyyy-MM-dd") Date date) {
+ Calendar calendar = createCalendarWithDate(date);
+ assertCalendarDate(calendar);
+ }
+
+ @Test
+ @Parameters({"2012-12-01"})
+ public void passesParametersWithOtherAnnotations(@Other String parameter) {
+ assertThat(parameter)
+ .isExactlyInstanceOf(String.class)
+ .isEqualTo("2012-12-01");
+ }
+
+ private void assertCalendarDate(Calendar calendar) {
+ assertThat(calendar.get(Calendar.YEAR)).isEqualTo(2012);
+ assertThat(calendar.get(Calendar.MONTH)).isEqualTo(11);
+ assertThat(calendar.get(Calendar.DAY_OF_MONTH)).isEqualTo(1);
+ }
+
+ private Calendar createCalendarWithDate(Date date) {
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(date);
+ return calendar;
+ }
+
+ public static class LetterToNumberConverter implements ParamConverter<Integer> {
+ public Integer convert(Object param, String options) {
+ return param.toString().charAt(0) - 64;
+ }
+ }
+
+ public static class StringToDateConverter implements ParamConverter<Date> {
+ public Date convert(Object param, String options) {
+ try {
+ return new SimpleDateFormat(options).parse(param.toString());
+ } catch (ParseException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+
+ @Retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.PARAMETER)
+ @Param(converter = FormattedDateConverter.class)
+ public @interface DateParam {
+
+ String format() default "dd.MM.yyyy";
+ }
+
+ @Retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.PARAMETER)
+ public @interface Other {
+ }
+
+ public static class FormattedDateConverter implements Converter<DateParam, Date> {
+
+ private String format;
+
+ @Override
+ public void initialize(DateParam annotation) {
+ this.format = annotation.format();
+ }
+
+ @Override
+ public Date convert(Object param) throws ConversionFailedException {
+ try {
+ return new SimpleDateFormat(format).parse(param.toString());
+ } catch (ParseException e) {
+ throw new ConversionFailedException("failed");
+ }
+ }
+ }
+
+ public static class SimpleDateConverter implements Converter<Param, Date> {
+ @Override
+ public void initialize(Param annotation) {
+ }
+
+ @Override
+ public Date convert(Object param) throws ConversionFailedException {
+ try {
+ return new SimpleDateFormat("dd.MM.yyyy").parse(param.toString());
+ } catch (ParseException e) {
+ throw new ConversionFailedException("failed");
+ }
+ }
+ }
+}
diff --git a/src/test/java/junitparams/ParamsInAnnotationTest.java b/src/test/java/junitparams/ParamsInAnnotationTest.java
new file mode 100644
index 0000000..57183a8
--- /dev/null
+++ b/src/test/java/junitparams/ParamsInAnnotationTest.java
@@ -0,0 +1,88 @@
+package junitparams;
+
+import java.math.BigDecimal;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import static org.assertj.core.api.Assertions.*;
+
+@RunWith(JUnitParamsRunner.class)
+public class ParamsInAnnotationTest {
+
+ @Test
+ @Parameters({"1", "2"})
+ public void singleParam(int number) {
+ assertThat(number).isGreaterThan(0);
+ }
+
+ @Test
+ @Parameters({"1, true", "2, false"})
+ public void multipleParamsCommaSeparated(int number, boolean isOne) throws Exception {
+ if (isOne)
+ assertThat(number).isEqualTo(1);
+ else
+ assertThat(number).isNotEqualTo(1);
+ }
+
+ @Test
+ @Parameters({"1 | true", "2 | false"})
+ public void multipleParamsPipeSeparated(int number, boolean isOne) throws Exception {
+ if (isOne)
+ assertThat(number).isEqualTo(1);
+ else
+ assertThat(number).isNotEqualTo(1);
+ }
+
+ @Test
+ @Parameters({"a \n b", "a(asdf)", "a \r a"})
+ public void specialCharsInParam(String a) throws Exception {
+ assertThat(a).isIn("a \n b", "a(asdf)", "a \r a");
+ }
+
+ @Test
+ @Parameters({",1"})
+ public void emptyFirstParam(String empty, int number) {
+ assertThat(empty).isEmpty();
+ assertThat(number).isEqualTo(1);
+ }
+
+ @Test
+ @Parameters({"1,"})
+ public void emptyLastParam(int number, String empty) {
+ assertThat(empty).isEmpty();
+ assertThat(number).isEqualTo(1);
+ }
+
+ @Test
+ @Parameters({"1,,1"})
+ public void emptyMiddleParam(int number1, String empty, int number2) {
+ assertThat(empty).isEmpty();
+ assertThat(number1).isEqualTo(1);
+ assertThat(number2).isEqualTo(1);
+ }
+
+ @Test
+ @Parameters({","})
+ public void allParamsEmpty(String empty1, String empty2) {
+ assertThat(empty1).isEmpty();
+ assertThat(empty2).isEmpty();
+ }
+
+ @Test
+ @Parameters({
+ "1, 1, 1",
+ "1.1, 1.1, 2",
+ "11, 11, 2",
+ "1.11, 1.11, 3"
+ })
+ public void convertToBigDecimal(BigDecimal number, String string, int precision) {
+ assertThat(number).isEqualByComparingTo(string);
+ assertThat(number.precision()).isEqualTo(precision);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ @Parameters({" invalidNumber "})
+ public void cannotConvertToBigDecimalForInvalidInput(BigDecimal number) {
+ }
+}
diff --git a/src/test/java/junitparams/RulesTest.java b/src/test/java/junitparams/RulesTest.java
new file mode 100644
index 0000000..3dde4cf
--- /dev/null
+++ b/src/test/java/junitparams/RulesTest.java
@@ -0,0 +1,60 @@
+package junitparams;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ErrorCollector;
+import org.junit.rules.ExpectedException;
+import org.junit.rules.TemporaryFolder;
+import org.junit.rules.TestName;
+import org.junit.rules.TestRule;
+import org.junit.rules.TestWatcher;
+import org.junit.rules.Timeout;
+import org.junit.runner.JUnitCore;
+import org.junit.runner.Result;
+import org.junit.runner.RunWith;
+
+import static org.assertj.core.api.Assertions.*;
+
+@RunWith(JUnitParamsRunner.class)
+public class RulesTest {
+ @Rule
+ public TemporaryFolder folder = new TemporaryFolder();
+ @Rule
+ public ExpectedException exception = ExpectedException.none();
+ @Rule
+ public ErrorCollector errors = new ErrorCollector();
+ @Rule
+ public TestName testName = new TestName();
+ @Rule
+ public TestWatcher testWatcher = new TestWatcher() {
+ };
+ @Rule
+ public Timeout timeout = new Timeout(0);
+
+
+ @Test
+ @Parameters("")
+ public void shouldHandleRulesProperly(String n) {
+ assertThat(testName.getMethodName()).isEqualTo("shouldHandleRulesProperly");
+ }
+
+ @Test
+ public void shouldProvideHelpfulExceptionMessageWhenRuleIsUsedImproperly() {
+ Result result = JUnitCore.runClasses(ProtectedRuleTest.class);
+
+ assertThat(result.getFailureCount()).isEqualTo(1);
+ assertThat(result.getFailures().get(0).getException())
+ .hasMessage("The @Rule 'testRule' must be public.");
+ }
+
+ public class ProtectedRuleTest {
+ @Rule
+ TestRule testRule;
+
+ @Test
+ public void test() {
+
+ }
+ }
+
+}
diff --git a/src/test/java/junitparams/SampleTestCase.java b/src/test/java/junitparams/SampleTestCase.java
new file mode 100644
index 0000000..7b9e2b0
--- /dev/null
+++ b/src/test/java/junitparams/SampleTestCase.java
@@ -0,0 +1,24 @@
+package junitparams;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(JUnitParamsRunner.class)
+public class SampleTestCase {
+
+ @Test
+ public void firstTestMethod() throws Exception {
+
+ }
+
+ @Test
+ @Parameters(method = "getParameters")
+ public void secondTestMethod(String parameter) throws Exception {
+
+ }
+
+ private Object[] getParameters() {
+ return new Object[]{"a", "b"};
+ }
+
+}
diff --git a/src/test/java/junitparams/SamplesOfUsageVerificationTest.java b/src/test/java/junitparams/SamplesOfUsageVerificationTest.java
new file mode 100644
index 0000000..13a0719
--- /dev/null
+++ b/src/test/java/junitparams/SamplesOfUsageVerificationTest.java
@@ -0,0 +1,21 @@
+package junitparams;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+import org.junit.runner.JUnitCore;
+import org.junit.runner.Result;
+
+import junitparams.usage.SamplesOfUsageTest;
+
+public class SamplesOfUsageVerificationTest {
+
+ @Test
+ public void verifyNoTestsIgnoredInSamplesOfUsageTest() {
+ Result result = JUnitCore.runClasses(SamplesOfUsageTest.class);
+
+ assertEquals(0, result.getFailureCount());
+ assertEquals(0, result.getIgnoreCount());
+ }
+
+}
diff --git a/src/test/java/junitparams/SubclassTest.java b/src/test/java/junitparams/SubclassTest.java
new file mode 100644
index 0000000..ec2fb6d
--- /dev/null
+++ b/src/test/java/junitparams/SubclassTest.java
@@ -0,0 +1,22 @@
+package junitparams;
+
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assert.*;
+
+import org.junit.*;
+
+import junitparams.usage.person_example.PersonTest.*;
+
+public class SubclassTest extends SuperclassTest {
+
+ @Test
+ @Parameters(method = "paramsForIsAdult")
+ public void isAdult(int age, boolean valid) throws Exception {
+ assertThat(new Person(age).isAdult(), is(valid));
+ }
+
+ @SuppressWarnings("unused")
+ private Object[] paramsForSuperclassMethod() {
+ return new Object[]{1};
+ }
+} \ No newline at end of file
diff --git a/src/test/java/junitparams/SuperclassTest.java b/src/test/java/junitparams/SuperclassTest.java
new file mode 100644
index 0000000..f5987c5
--- /dev/null
+++ b/src/test/java/junitparams/SuperclassTest.java
@@ -0,0 +1,20 @@
+package junitparams;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(JUnitParamsRunner.class)
+public abstract class SuperclassTest {
+
+ @Test
+ @Parameters(method = "paramsForSuperclassMethod")
+ public void testWork(int val) throws Exception {
+ assertThat(val).isGreaterThan(0);
+ }
+
+ protected Object[] paramsForIsAdult() {
+ return new Object[]{new Object[]{11, false}, new Object[]{17, false}, new Object[]{18, true}, new Object[]{22, true}};
+ }
+} \ No newline at end of file
diff --git a/src/test/java/junitparams/WrongArgumentsNumberTest.java b/src/test/java/junitparams/WrongArgumentsNumberTest.java
new file mode 100644
index 0000000..a0a28fc
--- /dev/null
+++ b/src/test/java/junitparams/WrongArgumentsNumberTest.java
@@ -0,0 +1,14 @@
+package junitparams;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(JUnitParamsRunner.class)
+public class WrongArgumentsNumberTest {
+
+ @Test(expected = IllegalArgumentException.class)
+ @Parameters({"one"})
+ public void throwsExceptionForWrongNumberOfParameters(String value, String notProvided) {
+ }
+
+}
diff --git a/src/test/java/junitparams/converters/NullableConverterTest.java b/src/test/java/junitparams/converters/NullableConverterTest.java
new file mode 100644
index 0000000..d023ce2
--- /dev/null
+++ b/src/test/java/junitparams/converters/NullableConverterTest.java
@@ -0,0 +1,52 @@
+package junitparams.converters;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import junitparams.JUnitParamsRunner;
+import junitparams.Parameters;
+
+import static org.assertj.core.api.Assertions.*;
+
+@RunWith(JUnitParamsRunner.class)
+public class NullableConverterTest {
+
+ @Test
+ @Parameters({"null"})
+ public void shouldConvertToNull(@Nullable String value) {
+ assertThat(value).isNull();
+ }
+
+ @Test
+ @Parameters({" null"})
+ public void shouldConvertToNullIgnoringWhitespaces(@Nullable String value) {
+ assertThat(value).isNull();
+ }
+
+ @Test
+ @Parameters({"A", "B"})
+ public void shouldNotApplyConversionToNull(@Nullable String value) {
+ assertThat(value).isNotNull();
+ }
+
+ @Test
+ @Parameters({" #null "})
+ public void shouldUseCustomNullIdentifier(@Nullable(nullIdentifier = "#null") String value) {
+ assertThat(value).isNull();
+ }
+
+ @Test
+ @Parameters({" null "})
+ public void shouldIgnoreDefaultNulllIdentifierWhenIsSpecifiedCustomOne(@Nullable(nullIdentifier = "#null") String value) {
+ assertThat(value).isNotNull();
+ }
+
+ @Test
+ @Parameters({"A, B"})
+ public void shouldNotApplyConversionToNull(@Nullable String firstParam, @Nullable String secondParam) {
+ assertThat(firstParam).isEqualTo("A");
+ assertThat(secondParam).isEqualTo("B");
+ }
+
+
+}
diff --git a/src/test/java/junitparams/custom/CustomParametersProviderTest.java b/src/test/java/junitparams/custom/CustomParametersProviderTest.java
new file mode 100644
index 0000000..f9e2eee
--- /dev/null
+++ b/src/test/java/junitparams/custom/CustomParametersProviderTest.java
@@ -0,0 +1,61 @@
+package junitparams.custom;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import junitparams.JUnitParamsRunner;
+
+import static org.assertj.core.api.Assertions.*;
+
+@RunWith(JUnitParamsRunner.class)
+public class CustomParametersProviderTest {
+
+ @Test
+ @CustomParameters(provider = SimpleHelloProvider.class)
+ public void runWithParametersFromCustomProvider(String param) {
+ assertThat(param).isEqualTo("hello");
+ }
+
+ @Test
+ @HelloParameters(hello = "Hi")
+ public void runWithParametersFromCustomAnnotation(String param) {
+ assertThat(param).isEqualTo("Hi");
+ }
+
+
+ @Retention(RetentionPolicy.RUNTIME)
+ @CustomParameters(provider = CustomHelloProvider.class)
+ public @interface HelloParameters {
+ String hello();
+ }
+
+ public static class SimpleHelloProvider implements ParametersProvider<CustomParameters> {
+ @Override
+ public void initialize(CustomParameters parametersAnnotation) {
+ }
+
+ @Override
+ public Object[] getParameters() {
+ return new Object[]{"hello", "hello"};
+ }
+ }
+
+ public static class CustomHelloProvider implements ParametersProvider<HelloParameters> {
+
+ private String hello;
+
+ @Override
+ public void initialize(HelloParameters parametersAnnotation) {
+ hello = parametersAnnotation.hello();
+ }
+
+ @Override
+ public Object[] getParameters() {
+ return new Object[]{hello, hello};
+ }
+ }
+}
+
diff --git a/src/test/java/junitparams/custom/combined/CartesianTest.java b/src/test/java/junitparams/custom/combined/CartesianTest.java
new file mode 100644
index 0000000..e2fbb12
--- /dev/null
+++ b/src/test/java/junitparams/custom/combined/CartesianTest.java
@@ -0,0 +1,79 @@
+package junitparams.custom.combined;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.junit.Test;
+
+import static java.util.Collections.*;
+import static org.assertj.core.api.Assertions.*;
+
+public class CartesianTest {
+
+ @Test
+ public void shouldReturnEmptyWhenNoArgumentsPassed() {
+ // when
+ Object result[] = Cartesian.getCartesianProductOf(null);
+
+ // then
+ assertThat(result).isEmpty();
+ }
+
+ @Test
+ public void shouldReturnInputWhenOneArgumentPassed() {
+ Object[] testArray = new String[]{"AAA", "BBB"};
+ List<Object[]> list = singletonList(testArray);
+
+ // when
+ Object result[] = Cartesian.getCartesianProductOf(list);
+
+ // then
+ assertThat(result).isEqualTo(testArray);
+ }
+
+ @Test
+ public void shouldReturnProductOfTwoArrays() {
+ Object[] testArrayOne = new String[]{"AAA", "BBB"};
+ Object[] testArrayTwo = new Integer[]{1, 2};
+
+ List<Object[]> test = new ArrayList<Object[]>();
+ test.add(testArrayOne);
+ test.add(testArrayTwo);
+
+ Object[] expectedResult = new Object[][]{
+ {"AAA", 1}, {"AAA", 2},
+ {"BBB", 1}, {"BBB", 2},
+ };
+
+ // when
+ Object result[] = Cartesian.getCartesianProductOf(test);
+
+ // then
+ assertThat(result).isEqualTo(expectedResult);
+ }
+
+ @Test
+ public void shouldReturnProductOfThreeArrays() {
+ Object[] testArrayOne = new String[]{"AAA", "BBB"};
+ Object[] testArrayTwo = new Integer[]{1, 2};
+ Object[] testArrayThree = new String[]{"XXX", "YYY"};
+
+ List<Object[]> test = new ArrayList<Object[]>();
+ test.add(testArrayOne);
+ test.add(testArrayTwo);
+ test.add(testArrayThree);
+
+ Object[] expectedResult = new Object[][]{
+ {"AAA", 1, "XXX"}, {"AAA", 1, "YYY"},
+ {"AAA", 2, "XXX"}, {"AAA", 2, "YYY"},
+ {"BBB", 1, "XXX"}, {"BBB", 1, "YYY"},
+ {"BBB", 2, "XXX"}, {"BBB", 2, "YYY"},
+ };
+
+ // when
+ Object result[] = Cartesian.getCartesianProductOf(test);
+
+ // then
+ assertThat(result).isEqualTo(expectedResult);
+ }
+}
diff --git a/src/test/java/junitparams/custom/combined/CombinedParametersProviderTest.java b/src/test/java/junitparams/custom/combined/CombinedParametersProviderTest.java
new file mode 100644
index 0000000..f95494e
--- /dev/null
+++ b/src/test/java/junitparams/custom/combined/CombinedParametersProviderTest.java
@@ -0,0 +1,88 @@
+package junitparams.custom.combined;
+
+import java.util.LinkedList;
+import java.util.List;
+
+import org.junit.AfterClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import junitparams.JUnitParamsRunner;
+
+import static org.assertj.core.api.Assertions.*;
+
+@RunWith(JUnitParamsRunner.class)
+public class CombinedParametersProviderTest {
+
+ private static Verifier verifier = new Verifier();
+
+ @Test
+ @CombinedParameters({"a,b", "1,2"})
+ public void calledWithCartesianProduct(String character, String number) {
+ verifier.called(character, number);
+ }
+
+ @AfterClass
+ public static void verify() {
+ assertThat(verifier.getCalls()).containsOnly(
+ new Verifier.Call("a", "1"),
+ new Verifier.Call("b", "1"),
+ new Verifier.Call("a", "2"),
+ new Verifier.Call("b", "2")
+ );
+ }
+
+ private static class Verifier {
+
+ private List<Call> calls = new LinkedList<Call>();
+
+ void called(String firstParam, String anotherParam){
+ calls.add(new Call(firstParam, anotherParam));
+ }
+
+ List<Call> getCalls() {
+ return calls;
+ }
+
+ private static class Call {
+
+ private final String firstParam;
+ private final String anotherParam;
+
+ Call(String firstParam, String anotherParam) {
+ this.firstParam = firstParam;
+ this.anotherParam = anotherParam;
+ }
+
+ @Override
+ public String toString() {
+ return "Call{" +
+ "'" + firstParam + '\'' +
+ ",'" + anotherParam + '\'' +
+ '}';
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+
+ Call call = (Call) o;
+
+ return firstParam.equals(call.firstParam) && anotherParam.equals(call.anotherParam);
+
+ }
+
+ @Override
+ public int hashCode() {
+ int result = firstParam.hashCode();
+ result = 31 * result + anotherParam.hashCode();
+ return result;
+ }
+ }
+ }
+}
diff --git a/src/test/java/junitparams/internal/TestMethodTest.java b/src/test/java/junitparams/internal/TestMethodTest.java
new file mode 100644
index 0000000..2964781
--- /dev/null
+++ b/src/test/java/junitparams/internal/TestMethodTest.java
@@ -0,0 +1,155 @@
+package junitparams.internal;
+
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.junit.runner.Description;
+import org.junit.runner.RunWith;
+import org.junit.runners.model.FrameworkMethod;
+import org.junit.runners.model.TestClass;
+
+import junitparams.JUnitParamsRunner;
+import junitparams.Parameters;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.Assert.*;
+
+@RunWith(JUnitParamsRunner.class)
+public class TestMethodTest {
+ TestMethod plainTestMethod;
+ TestMethod arrayTestMethod;
+
+ @Before
+ public void setUp() throws Exception {
+ plainTestMethod = new TestMethod(new FrameworkMethod(TestMethodTest.class.getMethod("forOthersToWork", new Class[]{String.class})),
+ new TestClass(this.getClass()));
+ arrayTestMethod = new TestMethod(new FrameworkMethod(TestMethodTest.class.getMethod("forOthersToWorkWithArray",
+ new Class[]{(new String[]{}).getClass()})),
+ new TestClass(this.getClass()));
+ }
+
+ @Test
+ @Parameters({"a","b"})
+ public void forOthersToWork(String arg) throws Exception {
+ assertThat(arg).isIn("a","b");
+ }
+
+
+ @Test
+ @Parameters({"a,b","b,a"})
+ public void forOthersToWorkWithArray(String... arg) throws Exception {
+ assertThat(arg).containsOnlyOnce("a","b");
+ }
+
+ @Test
+ @Ignore
+ public void flatTestMethodStructure() throws Exception {
+ System.setProperty("JUnitParams.flat", "true");
+
+ Description description = plainTestMethod.describe();
+
+ assertEquals("for_others_to_work(junitparams.internal.TestMethodTest)", description.getDisplayName());
+ assertTrue(description.getChildren().isEmpty());
+ System.clearProperty("JUnitParams.flat");
+ }
+
+
+ @Test
+ public void hierarchicalTestMethodStructure() throws Exception {
+ System.clearProperty("JUnitParams.flat");
+ Description description = plainTestMethod.describe();
+
+ assertEquals("forOthersToWork", description.getDisplayName());
+ assertEquals("[0] a (forOthersToWork)(junitparams.internal.TestMethodTest)", description.getChildren().get(0).getDisplayName());
+ assertEquals("[1] b (forOthersToWork)(junitparams.internal.TestMethodTest)", description.getChildren().get(1).getDisplayName());
+ }
+
+ @Test
+ public void hierarchicalArrayTestMethodStructure() throws Exception {
+ System.clearProperty("JUnitParams.flat");
+ Description description = arrayTestMethod.describe();
+
+ assertEquals("forOthersToWorkWithArray", description.getDisplayName());
+ assertEquals("[0] a,b (forOthersToWorkWithArray)(junitparams.internal.TestMethodTest)",
+ description.getChildren().get(0).getDisplayName());
+ assertEquals("[1] b,a (forOthersToWorkWithArray)(junitparams.internal.TestMethodTest)",
+ description.getChildren().get(1).getDisplayName());
+ }
+
+ @Test
+ @Parameters
+ public void testVarargs(String... strings){
+ assertArrayEquals("Hello world".split(" "), strings);
+ }
+
+ protected Object[] parametersForTestVarargs(){
+ return new Object[]{
+ new Object[]{"Hello", "world"}
+ };
+ }
+
+ @Test
+ @Parameters
+ public void testVarargsCustomClass(Pair... pairs){
+ assertEquals(pairs[0].x, pairs[0].y);
+ assertEquals(pairs[1].x, pairs[1].y);
+ assertNotEquals(pairs[2].x, pairs[2].y);
+ }
+
+ protected Object[] parametersForTestVarargsCustomClass(){
+ return new Object[]{
+ new Object[]{new Pair(0, 0), new Pair(1, 1), new Pair(2, 3)}
+ };
+ }
+
+ @Test
+ @Parameters
+ public void testVarargsMoreArgs(int sumOfX, int sumOfY, Pair... pairs){
+ int sumOfXFromPairs = 0;
+ int sumOfYFromPairs = 0;
+ for (Pair pair : pairs) {
+ sumOfXFromPairs += pair.x;
+ sumOfYFromPairs += pair.y;
+ }
+ assertEquals(sumOfX, sumOfXFromPairs);
+ assertEquals(sumOfY, sumOfYFromPairs);
+ }
+
+ protected Object parametersForTestVarargsMoreArgs(){
+ return new Object[]{new Object[]{40, 50, new Pair(17, 21), new Pair(12, 18), new Pair(11, 11)}, new Object[]{10, 20, new Pair(3,
+ 15), new Pair(7, 5)}};
+ }
+
+ @Test
+ @Parameters
+ public void testVargsMoreArgsOfTheSameType(Pair sum, Pair... pairs) {
+ assertEquals(sum.x, pairs[0].x + pairs[1].x);
+ assertEquals(sum.y, pairs[0].y + pairs[1].y);
+ }
+
+ protected Object parametersForTestVargsMoreArgsOfTheSameType(){
+ return new Object[]{new Object[]{new Pair(10, 30), new Pair(7, 17), new Pair(3, 13)}, new Object[]{new Pair(20, 40), new Pair(18,
+ 21), new Pair(2, 19)}};
+ }
+
+ @Test
+ @Parameters(method = "nullArray")
+ public void varargsCheckPassesWithNullArray(boolean isNull, String... array) throws Exception {
+ assertEquals(isNull, array == null);
+ }
+
+ private Object nullArray() {
+ return new Object[] {
+ new Object[] { false, new String[] { "1", "2" } },
+ new Object[] { true, null },
+ };
+ }
+
+ private class Pair{
+ int x,y;
+ public Pair(int x, int y){
+ this.x = x;
+ this.y = y;
+ }
+ }
+}
diff --git a/src/test/java/junitparams/internal/UtilsTest.java b/src/test/java/junitparams/internal/UtilsTest.java
new file mode 100644
index 0000000..f5b9be1
--- /dev/null
+++ b/src/test/java/junitparams/internal/UtilsTest.java
@@ -0,0 +1,56 @@
+package junitparams.internal;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import org.junit.Test;
+
+public class UtilsTest {
+
+ @Test
+ public void shouldSafelyCastStringArrayParamSetToArray() {
+ // given
+ Object paramSet = new String[] {"this", "is", "a", "test"};
+
+ // when
+ Object[] result = Utils.safelyCastParamsToArray(paramSet);
+
+ // then
+ assertThat(result).containsExactly("this", "is", "a", "test");
+ }
+
+ @Test
+ public void shouldSafelyCastIntegerArrayParamSetToArray() {
+ // given
+ Object paramSet = new Integer[] {1, 2, 3, 4};
+
+ // when
+ Object[] result = Utils.safelyCastParamsToArray(paramSet);
+
+ // then
+ assertThat(result).containsExactly(1, 2, 3, 4);
+ }
+
+ @Test
+ public void shouldSafelyCastArrayParamSetToArray() {
+ // given
+ Object paramSet = new Object[] {1, "2", 30D};
+
+ // when
+ Object[] result = Utils.safelyCastParamsToArray(paramSet);
+
+ // then
+ assertThat(result).containsExactly(1, "2", 30D);
+ }
+
+ @Test
+ public void shouldCreateSingletonArrayWhenCastingObjectToArray() {
+ // given
+ Object paramSet = "test";
+
+ // when
+ Object[] result = Utils.safelyCastParamsToArray(paramSet);
+
+ // then
+ assertThat(result).containsExactly("test");
+ }
+}
diff --git a/src/test/java/junitparams/naming/MacroSubstitutionNamingStrategyTest.java b/src/test/java/junitparams/naming/MacroSubstitutionNamingStrategyTest.java
new file mode 100644
index 0000000..b6c5c5c
--- /dev/null
+++ b/src/test/java/junitparams/naming/MacroSubstitutionNamingStrategyTest.java
@@ -0,0 +1,92 @@
+package junitparams.naming;
+
+import junitparams.JUnitParamsRunner;
+import junitparams.Parameters;
+import junitparams.internal.TestMethod;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.model.FrameworkMethod;
+import org.junit.runners.model.TestClass;
+
+import java.lang.reflect.Method;
+
+import static org.junit.Assert.assertEquals;
+
+@RunWith(JUnitParamsRunner.class)
+public class MacroSubstitutionNamingStrategyTest {
+
+ public Object parametersForTestNaming() {
+ return new Object[]{new Object[]{"withoutTestCaseAnnotation", "[0] value (withoutTestCaseAnnotation)"},
+ new Object[]{"withAnnotationWithoutTemplate", "[0] value (withAnnotationWithoutTemplate)"},
+ new Object[]{"withEmptyTemplate", "[0] value (withEmptyTemplate)"},
+ new Object[]{"whenTemplateResultedToEmptyName", "[0] value (whenTemplateResultedToEmptyName)"},
+ new Object[]{"withoutMacro", "plain name"}, new Object[]{"withIndexMacro", "0"},
+ new Object[]{"withParamsMacro", "value"},
+ new Object[]{"withMethodNameMacro", "withMethodNameMacro"},
+ new Object[]{"withCombinationOfMacros", "0: withCombinationOfMacros(value)"},
+ new Object[]{"withMacroNameWrittenInDifferentCase", "value value value"},
+ new Object[]{"withMethodParameterIndexInsideArgumentsArray", "value"},
+ new Object[]{"withMethodParameterIndexOutsideArgumentsArray", "Here is 100 argument:"},
+ new Object[]{"whenGivenMacroDoesntExist", "{not_existing_macro}"}};
+ }
+
+ @Test
+ @Parameters
+ public void testNaming(String methodName, String expectedTestCaseName) throws NoSuchMethodException {
+ TestCaseNamingStrategy strategy = createNamingStrategyForMethod(methodName, String.class);
+
+ String name = strategy.getTestCaseName(0, new Object[]{"value"});
+
+ assertEquals(expectedTestCaseName, name);
+ }
+
+ public void withoutTestCaseAnnotation(String param1) { }
+
+ @TestCaseName("plain name")
+ public void withoutMacro(String param1) { }
+
+ @TestCaseName("{index}")
+ public void withIndexMacro(String param1) { }
+
+ @TestCaseName("{params}")
+ public void withParamsMacro(String param1) { }
+
+ @TestCaseName("{method}")
+ public void withMethodNameMacro(String param1) { }
+
+ @TestCaseName
+ public void withAnnotationWithoutTemplate(String param1) { }
+
+ @TestCaseName("")
+ public void withEmptyTemplate(String param1) { }
+
+ @TestCaseName("{index}: {method}({params})")
+ public void withCombinationOfMacros(String param1) { }
+
+ @TestCaseName("{params} {PARAMS} {PaRams}")
+ public void withMacroNameWrittenInDifferentCase(String param1) { }
+
+ @TestCaseName("{0}")
+ public void withMethodParameterIndexInsideArgumentsArray(String param1) { }
+
+ @TestCaseName("Here is 100 argument:{100}")
+ public void withMethodParameterIndexOutsideArgumentsArray(String param1) { }
+
+ @TestCaseName("{100}")
+ public void whenTemplateResultedToEmptyName(String param1) { }
+
+ @TestCaseName("{not_existing_macro}")
+ public void whenGivenMacroDoesntExist(String param1) { }
+
+ private TestCaseNamingStrategy createNamingStrategyForMethod(String name, Class... parameterTypes) throws NoSuchMethodException {
+ TestMethod method = getCurrentClassMethod(name, parameterTypes);
+
+ return new MacroSubstitutionNamingStrategy(method);
+ }
+
+ private TestMethod getCurrentClassMethod(String name, Class... parameterTypes) throws NoSuchMethodException {
+ final Method method = MacroSubstitutionNamingStrategyTest.class.getMethod(name, parameterTypes);
+ return new TestMethod(new FrameworkMethod(method),
+ new TestClass(this.getClass()));
+ }
+}
diff --git a/src/test/java/junitparams/naming/NamingStrategyIsUsedByRunnerTest.java b/src/test/java/junitparams/naming/NamingStrategyIsUsedByRunnerTest.java
new file mode 100644
index 0000000..1e0ec24
--- /dev/null
+++ b/src/test/java/junitparams/naming/NamingStrategyIsUsedByRunnerTest.java
@@ -0,0 +1,48 @@
+package junitparams.naming;
+
+import org.junit.AfterClass;
+import org.junit.Test;
+import org.junit.runner.Description;
+import org.junit.runner.Request;
+import org.junit.runner.RunWith;
+
+import junitparams.JUnitParamsRunner;
+import junitparams.Parameters;
+
+import static org.assertj.core.api.Assertions.*;
+
+@RunWith(JUnitParamsRunner.class)
+public class NamingStrategyIsUsedByRunnerTest {
+
+ @AfterClass
+ public static void checkTestCaseNames() {
+ Description rootDescription = getTestClassDescription();
+ String className = "(" + NamingStrategyIsUsedByRunnerTest.class.getCanonicalName() + ")";
+
+ Description sampleMethodDescription = getChildDescriptionByName(rootDescription, "sampleMethod");
+
+ assertThat(sampleMethodDescription.getChildren()).extracting("displayName").containsExactly(
+ "[0] Well formed name of sampleMethod with param1" + className,
+ "[1] Well formed name of sampleMethod with param2" + className);
+ }
+
+ @Test
+ @Parameters({"param1", "param2"})
+ @TestCaseName("[{index}] Well formed name of {method} with {params}")
+ public void sampleMethod(String parameter) {
+ }
+
+ private static Description getTestClassDescription() {
+ return Request.aClass(NamingStrategyIsUsedByRunnerTest.class).getRunner().getDescription();
+ }
+
+ private static Description getChildDescriptionByName(Description parent, String expectedName) {
+ for (Description childDescription : parent.getChildren()) {
+ if (expectedName.equals(childDescription.getDisplayName())) {
+ return childDescription;
+ }
+ }
+
+ return null;
+ }
+}
diff --git a/src/test/java/junitparams/usage/SamplesOfUsageTest.java b/src/test/java/junitparams/usage/SamplesOfUsageTest.java
new file mode 100644
index 0000000..5ce425d
--- /dev/null
+++ b/src/test/java/junitparams/usage/SamplesOfUsageTest.java
@@ -0,0 +1,159 @@
+package junitparams.usage;
+
+import java.util.Arrays;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import junitparams.FileParameters;
+import junitparams.JUnitParamsRunner;
+import junitparams.Parameters;
+import junitparams.ParametersReaderProvidersTest;
+import junitparams.ParamsConverterTest;
+import junitparams.converters.Param;
+import junitparams.custom.combined.CombinedParameters;
+import junitparams.mappers.CsvWithHeaderMapper;
+import junitparams.naming.TestCaseName;
+import junitparams.usage.person_example.PersonMapper;
+import junitparams.usage.person_example.PersonTest;
+import junitparams.usage.person_example.PersonType;
+
+import static junitparams.JUnitParamsRunner.*;
+import static org.assertj.core.api.Assertions.*;
+
+@RunWith(JUnitParamsRunner.class)
+public class SamplesOfUsageTest {
+
+ @Test
+ @Parameters({"AAA,1", "BBB,2"})
+ public void paramsInAnnotation(String p1, Integer p2) { }
+
+ @Test
+ @Parameters({"AAA|1", "BBB|2"})
+ public void paramsInAnnotationPipeSeparated(String p1, Integer p2) { }
+
+ @Test
+ @Parameters
+ public void paramsInDefaultMethod(String p1, Integer p2) { }
+ private Object parametersForParamsInDefaultMethod() {
+ return new Object[]{new Object[]{"AAA", 1}, new Object[]{"BBB", 2}};
+ }
+
+ @Test
+ @Parameters(method = "named1")
+ public void paramsInNamedMethod(String p1, Integer p2) { }
+ private Object named1() {
+ return new Object[]{"AAA", 1};
+ }
+
+ @Test
+ @Parameters(method = "named2,named3")
+ public void paramsInMultipleMethods(String p1, Integer p2) { }
+ private Object named2() {
+ return new Object[]{"AAA", 1};
+ }
+ private Object named3() {
+ return new Object[]{"BBB", 2};
+ }
+
+ @Test
+ @Parameters(method = "named4")
+ public void paramsWithVarargs(String... args) {
+ assertThat(args).isEqualTo(new String[]{"AAA", "BBB"});
+ }
+ private Object named4() { return new Object[]{new String[]{"AAA", "BBB"}}; }
+
+ @Test
+ @Parameters(source = ParametersReaderProvidersTest.OneIntegerProvider.class)
+ public void paramsFromExternalClass(int integer) { }
+
+ @Test
+ @Parameters
+ public void paramsInCollection(String p1) { }
+ private List<String> parametersForParamsInCollection() { return Arrays.asList("a"); }
+
+ @Test
+ @Parameters
+ public void paramsInIterator(String p1) { }
+ private Iterator<String> parametersForParamsInIterator() { return Arrays.asList("a").iterator(); }
+
+ @Test
+ @Parameters({"SOME_VALUE", "OTHER_VALUE"})
+ public void enumsAsParamInAnnotation(PersonType person) { }
+
+ @Test
+ @Parameters
+ public void enumsAsParamsInMethod(PersonType person) { }
+ private PersonType[] parametersForEnumsAsParamsInMethod() { return (PersonType[]) new PersonType[] {PersonType.SOME_VALUE}; }
+
+ @Test
+ @Parameters(source = PersonType.class)
+ public void enumAsSource(PersonType personType) {
+ }
+
+ @Test
+ @Parameters
+ public void wrapParamsWithConstructor(PersonTest.Person person) { }
+ private Object parametersForWrapParamsWithConstructor() {
+ return new Object[]{new Object[]{"first", 1}, new Object[]{"second", 2}};
+ }
+
+ @Test
+ @FileParameters("src/test/resources/test.csv")
+ public void loadParamsFromCsv(int age, String name) { }
+
+ @Test
+ @FileParameters(value = "src/test/resources/test.csv", mapper = PersonMapper.class)
+ public void loadParamsFromAnyFile(PersonTest.Person person) { }
+
+ @Test
+ @FileParameters("classpath:test.csv")
+ public void loadParamsFromClasspath(int age, String name) { }
+
+ @Test
+ @FileParameters(value = "classpath:with_header.csv", mapper = CsvWithHeaderMapper.class)
+ public void loadParamsFromCsvWithHeader(int id, String name) { }
+
+ @Test
+ @Parameters({ "01.12.2012" })
+ public void convertParams(@Param(converter = ParamsConverterTest.SimpleDateConverter.class) Date date) {}
+
+ @Test
+ @Parameters("please\\, escape commas if you use it here and don't want your parameters to be splitted")
+ public void commasInParametersUsage(String phrase) { }
+
+ @Test
+ @Parameters({ "1,1", "2,2", "3,6" })
+ @TestCaseName("factorial({0}) = {1}")
+ public void customNamesForTestCase(int argument, int result) { }
+
+ @Test
+ @Parameters({ "value1, value2", "value3, value4" })
+ @TestCaseName("[{index}] {method}: {params}")
+ public void predefinedMacroForTestCaseNames(String param1, String param2) { }
+
+ public Object mixedParameters() {
+ boolean booleanValue = true;
+ int[] primitiveArray = {1, 2, 3};
+ String stringValue = "Test";
+ String[] stringArray = {"one", "two", null};
+ return $(
+ $(booleanValue, primitiveArray, stringValue, stringArray)
+ );
+ }
+
+ @Test
+ @Parameters(method = "mixedParameters")
+ @TestCaseName("{0}, {1}, {2}, {3}")
+ public void usageOfMultipleTypesOfParameters(
+ boolean booleanValue, int[] primitiveArray, String stringValue, String[] stringArray) {
+ }
+
+ @Test
+ @CombinedParameters({"AAA,BBB", "1|2"})
+ public void combineParamsInAnnotation(String p1, Integer p2) {}
+
+}
diff --git a/src/test/java/junitparams/usage/person_example/PersonMapper.java b/src/test/java/junitparams/usage/person_example/PersonMapper.java
new file mode 100644
index 0000000..24ed212
--- /dev/null
+++ b/src/test/java/junitparams/usage/person_example/PersonMapper.java
@@ -0,0 +1,21 @@
+package junitparams.usage.person_example;
+
+import java.io.*;
+import java.util.*;
+
+import junitparams.internal.*;
+import junitparams.mappers.*;
+
+public class PersonMapper extends CsvWithHeaderMapper {
+ @Override
+ public Object[] map(Reader reader) {
+ Object[] map = super.map(reader);
+ List<Object[]> result = new LinkedList<Object[]>();
+ for (Object lineObj : map) {
+ String line = (String) lineObj;
+ result.add(new Object[] { line.substring(2), Integer.parseInt(line.substring(0, 1)) });
+ }
+ return result.toArray();
+ }
+
+} \ No newline at end of file
diff --git a/src/test/java/junitparams/usage/person_example/PersonTest.java b/src/test/java/junitparams/usage/person_example/PersonTest.java
new file mode 100644
index 0000000..927204e
--- /dev/null
+++ b/src/test/java/junitparams/usage/person_example/PersonTest.java
@@ -0,0 +1,97 @@
+package junitparams.usage.person_example;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import junitparams.naming.TestCaseName;
+import org.junit.*;
+import org.junit.runner.*;
+
+import junitparams.*;
+
+@RunWith(JUnitParamsRunner.class)
+public class PersonTest {
+
+ @Test
+ @Parameters({
+ "17, false",
+ "22, true" })
+ public void isAdultAgeDirect(int age, boolean valid) throws Exception {
+ assertThat(new Person(age).isAdult()).isEqualTo(valid);
+ }
+
+ @Test
+ @Parameters(method = "adultValues")
+ public void isAdultAgeDefinedMethod(int age, boolean valid) throws Exception {
+ assertThat(new Person(age).isAdult()).isEqualTo(valid);
+ }
+
+ private Object[] adultValues() {
+ return new Object[]{new Object[]{17, false}, new Object[]{22, true}};
+ }
+
+ @Test
+ @Parameters
+ public void isAdultAgeDefaultMethod(int age, boolean valid) throws Exception {
+ assertThat(new Person(age).isAdult()).isEqualTo(valid);
+ }
+
+ @SuppressWarnings("unused")
+ private Object[] parametersForIsAdultAgeDefaultMethod() {
+ return adultValues();
+ }
+
+ @Test
+ @Parameters(source = PersonProvider.class)
+ public void personIsAdult(Person person, boolean valid) {
+ assertThat(person.isAdult()).isEqualTo(valid);
+ }
+
+ public static class PersonProvider {
+ public static Object[] provideAdults() {
+ return new Object[]{new Object[]{new Person(25), true}, new Object[]{new Person(32), true}};
+ }
+
+ public static Object[] provideTeens() {
+ return new Object[]{new Object[]{new Person(12), false}, new Object[]{new Person(17), false}};
+ }
+ }
+
+ @Test
+ @Parameters(method = "adultValues")
+ @TestCaseName("Is person with age {0} adult? It's {1} statement.")
+ public void isAdultWithCustomTestName(int age, boolean valid) throws Exception {
+ assertThat(new Person(age).isAdult()).isEqualTo(valid);
+ }
+
+ public static class Person {
+
+ private String name;
+ private int age;
+
+ public Person(Integer age) {
+ this.age = age;
+ }
+
+ public Person(String name, Integer age) {
+ this.name = name;
+ this.age = age;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public boolean isAdult() {
+ return age >= 18;
+ }
+
+ public int getAge() {
+ return age;
+ }
+
+ @Override
+ public String toString() {
+ return "Person of age: " + age;
+ }
+ }
+} \ No newline at end of file
diff --git a/src/test/java/junitparams/usage/person_example/PersonType.java b/src/test/java/junitparams/usage/person_example/PersonType.java
new file mode 100644
index 0000000..cdc834f
--- /dev/null
+++ b/src/test/java/junitparams/usage/person_example/PersonType.java
@@ -0,0 +1,5 @@
+package junitparams.usage.person_example;
+
+public enum PersonType {
+ SOME_VALUE, OTHER_VALUE
+}
diff --git a/src/test/resources/test.csv b/src/test/resources/test.csv
new file mode 100644
index 0000000..1b501ce
--- /dev/null
+++ b/src/test/resources/test.csv
@@ -0,0 +1,3 @@
+1,first
+2,second
+3, \ No newline at end of file
diff --git a/src/test/resources/with_header.csv b/src/test/resources/with_header.csv
new file mode 100644
index 0000000..10fd8c2
--- /dev/null
+++ b/src/test/resources/with_header.csv
@@ -0,0 +1,3 @@
+ID,NAME
+1,first
+2,second
diff --git a/src/test/resources/with_special_chars.csv b/src/test/resources/with_special_chars.csv
new file mode 100644
index 0000000..5422903
--- /dev/null
+++ b/src/test/resources/with_special_chars.csv
@@ -0,0 +1 @@
+åäöÅÄÖ \ No newline at end of file