/// <summary> /// the struct method for NunitCommon Class /// </summary> public NUnitOperate() { // initialize a NUnitTestCaseBuilder instance TestBuilder = new NUnitTestCaseBuilder(); // initialize a TestCaseParameterProvider instance ParamProvider = new TestCaseParameterProvider(); // initialize a TestCaseSourceProvider instance SourceProvider = new TestCaseSourceProvider(); // initialize a InlineDataPointProvider instance dataPointProviders = new InlineDataPointProvider(); }
public IEnumerable GetTestCasesFor(MethodInfo method, Test suite) { var autoMoqDataAttr = Reflect.GetAttributes(method, typeof(AutoMoqDataAttribute).FullName, false) .Cast <AutoMoqDataAttribute>() .First(); IEnumerable <ParameterSet> parameterizedTestCaseParams = Enumerable.Empty <ParameterSet>(); bool testIsParameterized = false; if (Reflect.GetAttributes(method, typeof(TestCaseAttribute).FullName, false).Any()) { var provider = new TestCaseParameterProvider(); parameterizedTestCaseParams = parameterizedTestCaseParams.Concat(provider.GetTestCasesFor(method).Cast <ParameterSet>()); testIsParameterized = true; } if (Reflect.GetAttributes(method, typeof(TestCaseSourceAttribute).FullName, false).Any()) { var provider = new TestCaseSourceProvider(); parameterizedTestCaseParams = parameterizedTestCaseParams.Concat(provider.GetTestCasesFor(method).Cast <ParameterSet>()); testIsParameterized = true; } var autoFixtureResolvedParams = autoMoqDataAttr.GetData(method).First(); if (!testIsParameterized) { yield return(new ParameterSet { Arguments = autoFixtureResolvedParams }); yield break; } foreach (var parameterSet in parameterizedTestCaseParams) { var numberOfSpecifiedParams = parameterSet.Arguments.Length; var mergedParams = parameterSet.Arguments.Concat(autoFixtureResolvedParams.Skip(numberOfSpecifiedParams)); parameterSet.Arguments = mergedParams.ToArray(); yield return(parameterSet); } }