# NUnit Parameterised Tests
## UseParameters()
`UseParameters()` controls what parameters are used when naming files.
Verify.NUnit automatically detects the method parameters. So `UseParameters()` is not required unless using custom parameters.
If not all parameters are required, a subset can be passed in. In this scenario, the parameters passed in will match with the method parameter names from the start. For example the following will result in a file named `ParametersSample.UseParametersSubSet_arg1=Value1_arg2=Value2.verified.txt`
```cs
[TestCase("Value1", "Value2", "Value3")]
public Task UseParametersSubSet(string arg1, string arg2, string arg3)
{
var somethingToVerify = $"{arg1} {arg2} {arg3} some text";
return Verify(somethingToVerify)
.UseParameters(arg1, arg2);
}
```
snippet source | anchor
If the number of parameters passed to `UseParameters()` is greater than the number of parameters in the test method, an exception will be thrown.
### TestCase
```cs
[TestCase("Value1")]
[TestCase("Value2")]
public Task TestCaseUsage(string arg) =>
Verify(arg);
```
snippet source | anchor
### TestFixtureSourceUsage
When using a [TestFixtureSource](https://docs.nunit.org/articles/nunit/writing-tests/attributes/testfixturesource.html) the name provided by NUnit will be as the `TestMethodName`.
```cs
[TestFixtureSource(nameof(FixtureArgs))]
public class TestFixtureSourceUsage(string arg1, int arg2)
{
[Test]
public Task Test() =>
Verify(
new
{
arg1,
arg2
});
static object[] FixtureArgs =
[
new object[]
{
"Value1",
1
},
new object[]
{
"Value2",
2
}
];
}
```
snippet source | anchor
Produces:
* `TestFixtureSourceUsage.Test_arg1=Value1_arg2=1.verified.txt`
* `TestFixtureSourceUsage.Test_arg1=Value2_arg2=2.verified.txt`
### Unknown parameter types
For unknown types the parameter information cannot be derived. In these scenarios `ToString()` is used. To use custom text for a parameter use `NameForParameter()`.
```cs
public class ComplexParametersSample
{
[ModuleInitializer]
public static void Initialize() =>
VerifierSettings.NameForParameter(_ => _.Value);
[TestCaseSource(nameof(GetData))]
public Task ComplexTestCaseSource(ComplexData arg) =>
Verify(arg);
public static IEnumerable