ParameterDataProvider
ParameterDataProvider supplies individual argument _values for
single parameters using attributes derived from DataAttribute.
using NUnit.Framework.Interfaces;
using System.Collections;
using System.Collections.Generic;
using System.Reflection;
namespace NUnit.Framework.Internal.Builders
{
public class ParameterDataProvider : IParameterDataProvider
{
public bool HasDataFor(ParameterInfo parameter)
{
return parameter.IsDefined(typeof(IParameterDataSource), false);
}
public IEnumerable GetDataFor(ParameterInfo parameter)
{
List<object> list = new List<object>();
object[] customAttributes = parameter.GetCustomAttributes(typeof(IParameterDataSource), false);
for (int i = 0; i < customAttributes.Length; i++) {
IParameterDataSource parameterDataSource = (IParameterDataSource)customAttributes[i];
foreach (object datum in parameterDataSource.GetData(parameter)) {
list.Add(datum);
}
}
return list;
}
}
}