コード例 #1
0
 TestableTestClassRunner(
     _ITestClass testClass,
     _IReflectionTypeInfo @class,
     IReadOnlyCollection <_ITestCase> testCases,
     IMessageBus messageBus,
     ITestCaseOrderer testCaseOrderer,
     ExceptionAggregator aggregator,
     CancellationTokenSource cancellationTokenSource,
     ConstructorInfo?constructor,
     object[] availableArguments,
     RunSummary result,
     bool cancelInRunTestMethodAsync)
 {
     TestClass                       = testClass;
     this.@class                     = @class;
     this.testCases                  = testCases;
     this.messageBus                 = messageBus;
     this.testCaseOrderer            = testCaseOrderer;
     this.aggregator                 = aggregator;
     TokenSource                     = cancellationTokenSource;
     this.constructor                = constructor;
     this.availableArguments         = availableArguments;
     this.result                     = result;
     this.cancelInRunTestMethodAsync = cancelInRunTestMethodAsync;
 }
コード例 #2
0
 TestableXunitTestClassRunner(
     _ITestClass testClass,
     _IReflectionTypeInfo @class,
     IEnumerable <IXunitTestCase> testCases,
     List <_MessageSinkMessage> diagnosticMessages,
     IMessageBus messageBus,
     ITestCaseOrderer testCaseOrderer,
     ExceptionAggregator aggregator,
     CancellationTokenSource cancellationTokenSource,
     IDictionary <Type, object> collectionFixtureMappings)
     : base(testClass, @class, testCases, SpyMessageSink.Create(messages: diagnosticMessages), messageBus, testCaseOrderer, aggregator, cancellationTokenSource, collectionFixtureMappings)
 {
     DiagnosticMessages = diagnosticMessages;
 }
コード例 #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="XunitTestMethodRunnerContext"/> record.
 /// </summary>
 public XunitTestMethodRunnerContext(
     _ITestClass testClass,
     _ITestMethod testMethod,
     _IReflectionTypeInfo @class,
     _IReflectionMethodInfo method,
     IReadOnlyCollection <IXunitTestCase> testCases,
     IMessageBus messageBus,
     ExceptionAggregator aggregator,
     CancellationTokenSource cancellationTokenSource,
     object?[] constructorArguments) :
     base(testClass, testMethod, @class, method, testCases, messageBus, aggregator, cancellationTokenSource)
 {
     ConstructorArguments = constructorArguments;
 }
コード例 #4
0
        protected override Task <RunSummary> RunTestClassAsync(
            _ITestClass testClass,
            _IReflectionTypeInfo @class,
            IEnumerable <_ITestCase> testCases)
        {
            if (cancelInRunTestClassAsync)
            {
                CancellationTokenSource.Cancel();
            }

            RunTestClassAsync_AggregatorResult = Aggregator.ToException();
            ClassesRun.Add(Tuple.Create(@class, testCases));
            return(Task.FromResult(result));
        }
コード例 #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="XunitTestClassRunner"/> class.
 /// </summary>
 /// <param name="testClass">The test class to be run.</param>
 /// <param name="class">The test class that contains the tests to be run.</param>
 /// <param name="testCases">The test cases to be run.</param>
 /// <param name="diagnosticMessageSink">The message sink which receives <see cref="_DiagnosticMessage"/> messages.</param>
 /// <param name="messageBus">The message bus to report run status to.</param>
 /// <param name="testCaseOrderer">The test case orderer that will be used to decide how to order the test.</param>
 /// <param name="aggregator">The exception aggregator used to run code and collect exceptions.</param>
 /// <param name="cancellationTokenSource">The task cancellation token source, used to cancel the test run.</param>
 /// <param name="collectionFixtureMappings">The mapping of collection fixture types to fixtures.</param>
 public XunitTestClassRunner(
     _ITestClass testClass,
     _IReflectionTypeInfo @class,
     IEnumerable <IXunitTestCase> testCases,
     _IMessageSink diagnosticMessageSink,
     IMessageBus messageBus,
     ITestCaseOrderer testCaseOrderer,
     ExceptionAggregator aggregator,
     CancellationTokenSource cancellationTokenSource,
     IDictionary <Type, object> collectionFixtureMappings)
     : base(testClass, @class, testCases, diagnosticMessageSink, messageBus, testCaseOrderer, aggregator, cancellationTokenSource)
 {
     this.collectionFixtureMappings = Guard.ArgumentNotNull(nameof(collectionFixtureMappings), collectionFixtureMappings);
 }
コード例 #6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="XunitTestMethodRunner"/> class.
 /// </summary>
 /// <param name="testMethod">The test method to be run.</param>
 /// <param name="class">The test class that contains the test method.</param>
 /// <param name="method">The test method that contains the tests to be run.</param>
 /// <param name="testCases">The test cases to be run.</param>
 /// <param name="diagnosticMessageSink">The message sink which receives <see cref="_DiagnosticMessage"/> messages.</param>
 /// <param name="messageBus">The message bus to report run status to.</param>
 /// <param name="aggregator">The exception aggregator used to run code and collect exceptions.</param>
 /// <param name="cancellationTokenSource">The task cancellation token source, used to cancel the test run.</param>
 /// <param name="constructorArguments">The constructor arguments for the test class.</param>
 public XunitTestMethodRunner(
     _ITestMethod testMethod,
     _IReflectionTypeInfo @class,
     _IReflectionMethodInfo method,
     IEnumerable <IXunitTestCase> testCases,
     _IMessageSink diagnosticMessageSink,
     IMessageBus messageBus,
     ExceptionAggregator aggregator,
     CancellationTokenSource cancellationTokenSource,
     object?[] constructorArguments)
     : base(testMethod, @class, method, testCases, messageBus, aggregator, cancellationTokenSource)
 {
     this.constructorArguments  = Guard.ArgumentNotNull(nameof(constructorArguments), constructorArguments);
     this.diagnosticMessageSink = Guard.ArgumentNotNull(nameof(diagnosticMessageSink), diagnosticMessageSink);
 }
コード例 #7
0
 /// <summary>
 /// Initializes a new instancew of the <see cref="TestClassRunnerContext{TTestCase}"/> class.
 /// </summary>
 public TestClassRunnerContext(
     _ITestClass testClass,
     _IReflectionTypeInfo @class,
     IReadOnlyCollection <TTestCase> testCases,
     IMessageBus messageBus,
     ITestCaseOrderer testCaseOrderer,
     ExceptionAggregator aggregator,
     CancellationTokenSource cancellationTokenSource) :
     base(messageBus, aggregator, cancellationTokenSource)
 {
     TestClass            = Guard.ArgumentNotNull(testClass);
     Class                = Guard.ArgumentNotNull(@class);
     TestCases            = Guard.ArgumentNotNull(testCases);
     this.testCaseOrderer = Guard.ArgumentNotNull(testCaseOrderer);
 }
コード例 #8
0
 /// <summary>
 /// Initializes a new instance of the <see cref="XunitTestClassRunnerContext"/> record.
 /// </summary>
 public XunitTestClassRunnerContext(
     _ITestClass testClass,
     _IReflectionTypeInfo @class,
     IReadOnlyCollection <IXunitTestCase> testCases,
     IMessageBus messageBus,
     ITestCaseOrderer testCaseOrderer,
     ExceptionAggregator aggregator,
     CancellationTokenSource cancellationTokenSource,
     IReadOnlyDictionary <Type, object> assemblyFixtureMappings,
     IReadOnlyDictionary <Type, object> collectionFixtureMappings) :
     base(testClass, @class, testCases, messageBus, testCaseOrderer, aggregator, cancellationTokenSource)
 {
     AssemblyFixtureMappings   = Guard.ArgumentNotNull(assemblyFixtureMappings);
     CollectionFixtureMappings = Guard.ArgumentNotNull(collectionFixtureMappings);
 }
コード例 #9
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TestMethodRunnerContext{TTestCase}"/> class.
 /// </summary>
 public TestMethodRunnerContext(
     _ITestClass testClass,
     _ITestMethod testMethod,
     _IReflectionTypeInfo @class,
     _IReflectionMethodInfo method,
     IReadOnlyCollection <TTestCase> testCases,
     IMessageBus messageBus,
     ExceptionAggregator aggregator,
     CancellationTokenSource cancellationTokenSource) :
     base(messageBus, aggregator, cancellationTokenSource)
 {
     TestClass  = Guard.ArgumentNotNull(testClass);
     TestMethod = Guard.ArgumentNotNull(testMethod);
     Class      = Guard.ArgumentNotNull(@class);
     Method     = Guard.ArgumentNotNull(method);
     TestCases  = Guard.ArgumentNotNull(testCases);
 }
コード例 #10
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TestMethodRunner{TTestCase}"/> class.
 /// </summary>
 /// <param name="testMethod">The test method under test.</param>
 /// <param name="class">The CLR class that contains the test method.</param>
 /// <param name="method">The CLR method that contains the tests to be run.</param>
 /// <param name="testCases">The test cases to be run.</param>
 /// <param name="messageBus">The message bus to report run status to.</param>
 /// <param name="aggregator">The exception aggregator used to run code and collect exceptions.</param>
 /// <param name="cancellationTokenSource">The task cancellation token source, used to cancel the test run.</param>
 protected TestMethodRunner(
     _ITestMethod testMethod,
     _IReflectionTypeInfo @class,
     _IReflectionMethodInfo method,
     IEnumerable <TTestCase> testCases,
     IMessageBus messageBus,
     ExceptionAggregator aggregator,
     CancellationTokenSource cancellationTokenSource)
 {
     this.testMethod = Guard.ArgumentNotNull(nameof(testMethod), testMethod);
     this.@class     = Guard.ArgumentNotNull(nameof(@class), @class);
     this.method     = Guard.ArgumentNotNull(nameof(method), method);
     this.testCases  = Guard.ArgumentNotNull(nameof(testCases), testCases);
     this.messageBus = Guard.ArgumentNotNull(nameof(messageBus), messageBus);
     this.aggregator = Guard.ArgumentNotNull(nameof(aggregator), aggregator);
     this.cancellationTokenSource = Guard.ArgumentNotNull(nameof(cancellationTokenSource), cancellationTokenSource);
 }
コード例 #11
0
        TestableTestMethodRunner(
            _ITestMethod testMethod,
            _IReflectionTypeInfo @class,
            _IReflectionMethodInfo method,
            IEnumerable <_ITestCase> testCases,
            IMessageBus messageBus,
            ExceptionAggregator aggregator,
            CancellationTokenSource cancellationTokenSource,
            RunSummary result,
            bool cancelInRunTestCaseAsync)
            : base(testMethod, @class, method, testCases, messageBus, aggregator, cancellationTokenSource)
        {
            TokenSource = cancellationTokenSource;

            this.result = result;
            this.cancelInRunTestCaseAsync = cancelInRunTestCaseAsync;
        }
コード例 #12
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TestClassRunner{TTestCase}"/> class.
 /// </summary>
 /// <param name="testClass">The test class to be run.</param>
 /// <param name="class">The test class that contains the tests to be run.</param>
 /// <param name="testCases">The test cases to be run.</param>
 /// <param name="diagnosticMessageSink">The message sink which receives <see cref="_DiagnosticMessage"/> messages.</param>
 /// <param name="messageBus">The message bus to report run status to.</param>
 /// <param name="testCaseOrderer">The test case orderer that will be used to decide how to order the test.</param>
 /// <param name="aggregator">The exception aggregator used to run code and collect exceptions.</param>
 /// <param name="cancellationTokenSource">The task cancellation token source, used to cancel the test run.</param>
 protected TestClassRunner(
     _ITestClass testClass,
     _IReflectionTypeInfo @class,
     IEnumerable <TTestCase> testCases,
     _IMessageSink diagnosticMessageSink,
     IMessageBus messageBus,
     ITestCaseOrderer testCaseOrderer,
     ExceptionAggregator aggregator,
     CancellationTokenSource cancellationTokenSource)
 {
     this.testClass               = Guard.ArgumentNotNull(nameof(testClass), testClass);
     this.@class                  = Guard.ArgumentNotNull(nameof(@class), @class);
     this.testCases               = Guard.ArgumentNotNull(nameof(testCases), testCases);
     this.diagnosticMessageSink   = Guard.ArgumentNotNull(nameof(diagnosticMessageSink), diagnosticMessageSink);
     this.messageBus              = Guard.ArgumentNotNull(nameof(messageBus), messageBus);
     this.testCaseOrderer         = Guard.ArgumentNotNull(nameof(testCaseOrderer), testCaseOrderer);
     this.aggregator              = Guard.ArgumentNotNull(nameof(aggregator), aggregator);
     this.cancellationTokenSource = Guard.ArgumentNotNull(nameof(cancellationTokenSource), cancellationTokenSource);
 }
コード例 #13
0
        TestableTestClassRunner(
            _ITestClass testClass,
            _IReflectionTypeInfo @class,
            IEnumerable <_ITestCase> testCases,
            List <_MessageSinkMessage> diagnosticMessages,
            IMessageBus messageBus,
            ITestCaseOrderer testCaseOrderer,
            ExceptionAggregator aggregator,
            CancellationTokenSource cancellationTokenSource,
            ConstructorInfo?constructor,
            object[] availableArguments,
            RunSummary result,
            bool cancelInRunTestMethodAsync)
            : base(testClass, @class, testCases, SpyMessageSink.Create(messages: diagnosticMessages), messageBus, testCaseOrderer, aggregator, cancellationTokenSource)
        {
            DiagnosticMessages = diagnosticMessages;
            TokenSource        = cancellationTokenSource;

            this.constructor                = constructor;
            this.availableArguments         = availableArguments;
            this.result                     = result;
            this.cancelInRunTestMethodAsync = cancelInRunTestMethodAsync;
        }
コード例 #14
0
 TestableTestMethodRunner(
     _ITestClass testClass,
     _ITestMethod testMethod,
     _IReflectionTypeInfo @class,
     _IReflectionMethodInfo method,
     IReadOnlyCollection <_ITestCase> testCases,
     IMessageBus messageBus,
     ExceptionAggregator aggregator,
     CancellationTokenSource cancellationTokenSource,
     RunSummary result,
     bool cancelInRunTestCaseAsync)
 {
     this.testClass  = testClass;
     TestMethod      = testMethod;
     this.@class     = @class;
     this.method     = method;
     this.testCases  = testCases;
     this.messageBus = messageBus;
     Aggregator      = aggregator;
     TokenSource     = cancellationTokenSource;
     this.result     = result;
     this.cancelInRunTestCaseAsync = cancelInRunTestCaseAsync;
 }
コード例 #15
0
        protected override Task <RunSummary> RunTestClassAsync(_ITestClass testClass, _IReflectionTypeInfo @class, IEnumerable <IXunitTestCase> testCases)
        {
            RunTestClassAsync_AggregatorResult = Aggregator.ToException();

            return(Task.FromResult(new RunSummary()));
        }