Beispiel #1
0
 /// <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();
 }
Beispiel #2
0
    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);
        }
    }