コード例 #1
0
        /// <inheritdoc />
        public override void Consume(IPatternScope containingScope, ICodeElementInfo codeElement, bool skipChildren)
        {
            //TODO: Review: Issue 762: Shouldn't the base method be invoked here?
            //base.Consume(containingScope, codeElement, skipChildren);
            var assembly = codeElement as IAssemblyInfo;

            Validate(containingScope, assembly);

            IPatternScope assemblyScope = containingScope.CreateChildTestScope(assembly.Name, assembly);

            assemblyScope.TestBuilder.Kind = TestKinds.Assembly;
            assemblyScope.TestBuilder.AddMetadata(MetadataKeys.File, assembly.Path);

            InitializeAssemblyTest(assemblyScope, assembly);
            SetTestSemantics(assemblyScope.TestBuilder, assembly);

            if (skipChildren)
            {
                PrepareToPopulateChildrenOnDemand(assemblyScope, assembly);
            }
            else
            {
                PopulateChildrenImmediately(assemblyScope, assembly);
            }

            assemblyScope.TestBuilder.ApplyDeferredActions();
        }
コード例 #2
0
        /// <inheritdoc />
        public override void Consume(IPatternScope containingScope, ICodeElementInfo codeElement, bool skipChildren)
        {
            //TODO: Review: Issue 762: Shouldn't the base method be invoked here?
            //base.Consume(containingScope, codeElement, skipChildren);
            var type = codeElement as ITypeInfo;

            Validate(containingScope, type);

            IPatternScope typeScope = containingScope.CreateChildTestScope(type.Name, type);

            typeScope.TestBuilder.Kind  = TestKinds.Fixture;
            typeScope.TestBuilder.Order = Order;

            InitializeTest(typeScope, type);
            SetTestSemantics(typeScope.TestBuilder, type);

            typeScope.TestBuilder.ApplyDeferredActions();
        }
コード例 #3
0
        /// <inheritdoc />
        public override void Consume(IPatternScope containingScope, ICodeElementInfo codeElement, bool skipChildren)
        {
            //TODO: Review: Issue 762: Shouldn't the base method be invoked here?
            //base.Consume(containingScope, codeElement, skipChildren);
            IFieldInfo field = codeElement as IFieldInfo;

            Validate(containingScope, field);

            IPatternScope fieldScope = containingScope.CreateChildTestScope(field.Name, field);

            fieldScope.TestBuilder.Kind       = TestKinds.Suite;
            fieldScope.TestBuilder.IsTestCase = false;

            InitializeTest(fieldScope, field);
            GenerateTestsFromContract(fieldScope, field, containingScope);

            fieldScope.TestBuilder.ApplyDeferredActions();
        }
コード例 #4
0
        /// <inheritdoc />
        public override void Consume(IPatternScope containingScope, ICodeElementInfo codeElement, bool skipChildren)
        {
            //TODO: Review: Issue 762: Shouldn't the base method be invoked here?
            //base.Consume(containingScope, codeElement, skipChildren);
            IMethodInfo method = codeElement as IMethodInfo;

            Validate(containingScope, method);

            IPatternScope methodScope = containingScope.CreateChildTestScope(method.Name, method);

            methodScope.TestBuilder.Kind        = TestKinds.Test;
            methodScope.TestBuilder.IsTestCase  = true;
            methodScope.TestBuilder.Order       = Order;
            methodScope.TestBuilder.TimeoutFunc = () => TestAssemblyExecutionParameters.DefaultTestCaseTimeout;

            InitializeTest(methodScope, method);
            SetTestSemantics(methodScope.TestBuilder, method);

            methodScope.TestBuilder.ApplyDeferredActions();
        }
コード例 #5
0
ファイル: TestDefinition.cs プロジェクト: citizenmatt/gallio
        /// <inheritdoc />
        protected override void BuildStaticTest(IPatternScope containingScope, ICodeElementInfo declaringCodeElement)
        {
            IPatternScope childTestScope = containingScope.CreateChildTestScope(Name, CodeElement ?? declaringCodeElement);

            childTestScope.TestBuilder.Kind        = Kind;
            childTestScope.TestBuilder.TimeoutFunc = () => Timeout;
            childTestScope.TestBuilder.IsTestCase  = IsTestCase;

            foreach (var pair in Metadata.Pairs)
            {
                childTestScope.TestBuilder.AddMetadata(pair.Key, pair.Value);
            }

            childTestScope.TestBuilder.TestInstanceActions.SetUpTestInstanceChain.Before(state => OnSetupSelf());
            childTestScope.TestBuilder.TestInstanceActions.ExecuteTestInstanceChain.After(state => OnExecuteSelf());
            childTestScope.TestBuilder.TestInstanceActions.TearDownTestInstanceChain.After(state => OnTearDownSelf());

            childTestScope.TestBuilder.TestInstanceActions.DecorateChildTestChain.After((outerState, decoratedChildActions) =>
                                                                                        decoratedChildActions.TestInstanceActions.SetUpTestInstanceChain.Before(innerState => OnSetupChild()));
            childTestScope.TestBuilder.TestInstanceActions.DecorateChildTestChain.After((outerState, decoratedChildActions) =>
                                                                                        decoratedChildActions.TestInstanceActions.TearDownTestInstanceChain.After(innerState => OnTearDownChild()));

            BuildStaticTests(GetChildren(), childTestScope, declaringCodeElement);
        }
コード例 #6
0
        /// <inheritdoc />
        public override void Consume(IPatternScope containingScope, ICodeElementInfo codeElement, bool skipChildren)
        {
            //TODO: Review: Issue 762: Shouldn't the base method be invoked here?
            //base.Consume(containingScope, codeElement, skipChildren);
            IMethodInfo method = codeElement as IMethodInfo;
            Validate(containingScope, method);

            IPatternScope methodScope = containingScope.CreateChildTestScope(method.Name, method);
            methodScope.TestBuilder.Kind = TestKinds.Test;
            methodScope.TestBuilder.IsTestCase = true;
            methodScope.TestBuilder.Order = Order;
            methodScope.TestBuilder.TimeoutFunc = () => TestAssemblyExecutionParameters.DefaultTestCaseTimeout;

            InitializeTest(methodScope, method);
            SetTestSemantics(methodScope.TestBuilder, method);

            methodScope.TestBuilder.ApplyDeferredActions();
        }
コード例 #7
0
        /// <inheritdoc />
        protected override void BuildStaticTest(IPatternScope containingScope, ICodeElementInfo declaringCodeElement)
        {
            IPatternScope childTestScope = containingScope.CreateChildTestScope(Name, CodeElement ?? declaringCodeElement);
            childTestScope.TestBuilder.Kind = Kind;
            childTestScope.TestBuilder.TimeoutFunc = () => Timeout;
            childTestScope.TestBuilder.IsTestCase = IsTestCase;

            foreach (var pair in Metadata.Pairs)
                childTestScope.TestBuilder.AddMetadata(pair.Key, pair.Value);

            childTestScope.TestBuilder.TestInstanceActions.SetUpTestInstanceChain.Before(state => OnSetupSelf());
            childTestScope.TestBuilder.TestInstanceActions.ExecuteTestInstanceChain.After(state => OnExecuteSelf());
            childTestScope.TestBuilder.TestInstanceActions.TearDownTestInstanceChain.After(state => OnTearDownSelf());

            childTestScope.TestBuilder.TestInstanceActions.DecorateChildTestChain.After((outerState, decoratedChildActions) =>
                decoratedChildActions.TestInstanceActions.SetUpTestInstanceChain.Before(innerState => OnSetupChild()));
            childTestScope.TestBuilder.TestInstanceActions.DecorateChildTestChain.After((outerState, decoratedChildActions) =>
                decoratedChildActions.TestInstanceActions.TearDownTestInstanceChain.After(innerState => OnTearDownChild()));

            BuildStaticTests(GetChildren(), childTestScope, declaringCodeElement);
        }
コード例 #8
0
        /// <inheritdoc />
        public override void Consume(IPatternScope containingScope, ICodeElementInfo codeElement, bool skipChildren)
        {
            //TODO: Review: Issue 762: Shouldn't the base method be invoked here?
            //base.Consume(containingScope, codeElement, skipChildren);
            IFieldInfo field = codeElement as IFieldInfo;
            Validate(containingScope, field);

            IPatternScope fieldScope = containingScope.CreateChildTestScope(field.Name, field);
            fieldScope.TestBuilder.Kind = TestKinds.Suite;
            fieldScope.TestBuilder.IsTestCase = false;

            InitializeTest(fieldScope, field);
            GenerateTestsFromContract(fieldScope, field, containingScope);

            fieldScope.TestBuilder.ApplyDeferredActions();
        }
コード例 #9
0
        /// <inheritdoc />
        public override void Consume(IPatternScope containingScope, ICodeElementInfo codeElement, bool skipChildren)
        {
            //TODO: Review: Issue 762: Shouldn't the base method be invoked here?
            //base.Consume(containingScope, codeElement, skipChildren);
            var assembly = codeElement as IAssemblyInfo;
            Validate(containingScope, assembly);

            IPatternScope assemblyScope = containingScope.CreateChildTestScope(assembly.Name, assembly);
            assemblyScope.TestBuilder.Kind = TestKinds.Assembly;
            assemblyScope.TestBuilder.AddMetadata(MetadataKeys.File, assembly.Path);

            InitializeAssemblyTest(assemblyScope, assembly);
            SetTestSemantics(assemblyScope.TestBuilder, assembly);

            if (skipChildren)
                PrepareToPopulateChildrenOnDemand(assemblyScope, assembly);
            else
                PopulateChildrenImmediately(assemblyScope, assembly);

            assemblyScope.TestBuilder.ApplyDeferredActions();
        }