ParameterDataProvider
The ParameterDataProvider class implements IParameterDataProvider
and hosts one or more individual providers.
using NUnit.Framework.Interfaces;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
namespace NUnit.Framework.Internal.Builders
{
[System.Runtime.CompilerServices.NullableContext(1)]
[System.Runtime.CompilerServices.Nullable(0)]
public class ParameterDataProvider : IParameterDataProvider
{
private readonly List<IParameterDataProvider> _providers = new List<IParameterDataProvider>();
public ParameterDataProvider(params IParameterDataProvider[] providers)
{
_providers.AddRange(providers);
}
public bool HasDataFor(IParameterInfo parameter)
{
foreach (IParameterDataProvider provider in _providers) {
if (provider.HasDataFor(parameter))
return true;
}
return false;
}
[IteratorStateMachine(typeof(<GetDataFor>d__3))]
public IEnumerable GetDataFor(IParameterInfo parameter)
{
<GetDataFor>d__3 <GetDataFor>d__ = new <GetDataFor>d__3(-2);
<GetDataFor>d__.<>4__this = this;
<GetDataFor>d__.<>3__parameter = parameter;
return <GetDataFor>d__;
}
}
}