Ejemplo n.º 1
0
        public Task <RunSummary> RunAsync(IMessageSink diagnosticMessageSink, IMessageBus messageBus, object[] constructorArguments, ExceptionAggregator aggregator, CancellationTokenSource cancellationTokenSource)
        {
            TestTraceListener.Ensure();
            MessageBusOverride messageBusOverride = new MessageBusOverride(messageBus)
                                                    .AddAfterStartingBeforeFinished(new ExecuteBeforeAfterAttributesMessageBusInjection(Method, _testCase.TestMethod.TestClass.Class));

            var testInformationFixtureIndex = Array.IndexOf(constructorArguments, ClassRunner.TestMethodFixtureDummy);

            if (testInformationFixtureIndex == -1)
            {
                return(RunAsyncOverride(diagnosticMessageSink, messageBusOverride, constructorArguments, aggregator, cancellationTokenSource));
            }

            var testMethodFixture        = new TestMethodFixture(_testCase.TestMethod.Method.ToRuntimeMethod());
            var constructorArgumentsCopy = InjectTestMethodFixture(constructorArguments, testInformationFixtureIndex, testMethodFixture);
            var testCaseRunTask          = RunAsyncOverride(diagnosticMessageSink, messageBusOverride, constructorArgumentsCopy, aggregator, cancellationTokenSource);
            var observeTask = CreateObserveTask(testMethodFixture.FailedObservedTask, messageBusOverride, cancellationTokenSource);

            return(Task.WhenAny(testCaseRunTask, observeTask)
                   .Unwrap()
                   .ContinueWith((t, s) => {
                ((IDisposable)s).Dispose();
                return t.Result;
            }, testMethodFixture, CancellationToken.None, TaskContinuationOptions.ExecuteSynchronously, TaskScheduler.Default));
        }
Ejemplo n.º 2
0
        private static object[] InjectTestMethodFixture(object[] constructorArguments, int testInformationFixtureIndex, TestMethodFixture testMethodFixture)
        {
            var constructorArgumentsCopy = new object[constructorArguments.Length];

            Array.Copy(constructorArguments, constructorArgumentsCopy, constructorArguments.Length);
            constructorArgumentsCopy[testInformationFixtureIndex] = testMethodFixture;
            return(constructorArgumentsCopy);
        }
        public Task<RunSummary> RunAsync(IMessageSink diagnosticMessageSink, IMessageBus messageBus, object[] constructorArguments, ExceptionAggregator aggregator, CancellationTokenSource cancellationTokenSource) {
            TestTraceListener.Ensure();
            MessageBusOverride messageBusOverride = new MessageBusOverride(messageBus)
                .AddAfterStartingBeforeFinished(new ExecuteBeforeAfterAttributesMessageBusInjection(Method, _testCase.TestMethod.TestClass.Class));

            var testInformationFixtureIndex = Array.IndexOf(constructorArguments, ClassRunner.TestMethodFixtureDummy);
            if (testInformationFixtureIndex == -1) {
                return RunAsyncOverride(diagnosticMessageSink, messageBusOverride, constructorArguments, aggregator, cancellationTokenSource);
            }

            var testMethodFixture = new TestMethodFixture(_testCase.TestMethod.Method.ToRuntimeMethod());
            var constructorArgumentsCopy = InjectTestMethodFixture(constructorArguments, testInformationFixtureIndex, testMethodFixture);
            var testCaseRunTask = RunAsyncOverride(diagnosticMessageSink, messageBusOverride, constructorArgumentsCopy, aggregator, cancellationTokenSource);
            var observeTask = CreateObserveTask(testMethodFixture.FailedObservedTask, messageBusOverride, cancellationTokenSource);

            return Task.WhenAny(testCaseRunTask, observeTask)
                .Unwrap()
                .ContinueWith((t, s) => {
                    ((IDisposable) s).Dispose();
                    return t.Result;
                }, testMethodFixture, CancellationToken.None, TaskContinuationOptions.ExecuteSynchronously, TaskScheduler.Default);
        }
 private static object[] InjectTestMethodFixture(object[] constructorArguments, int testInformationFixtureIndex, TestMethodFixture testMethodFixture) {
     var constructorArgumentsCopy = new object[constructorArguments.Length];
     Array.Copy(constructorArguments, constructorArgumentsCopy, constructorArguments.Length);
     constructorArgumentsCopy[testInformationFixtureIndex] = testMethodFixture;
     return constructorArgumentsCopy;
 }
Ejemplo n.º 5
0
 public DebugReplTest(TestMethodFixture testMethod) {
     _testMethod = testMethod.MethodInfo;
     _sessionProvider = new RSessionProvider();
     _session = _sessionProvider.GetOrCreate(Guid.NewGuid(), new RHostClientTestApp());
 }
 public InteractionEvaluation(TestMethodFixture testMethod) {
     _testMethod = testMethod.Method;
     _session = new RSession(0, null, () => {});
 }
 public XamlGraphicsDeviceTest(TestMethodFixture testMethod) {
     _testMethod = testMethod.MethodInfo;
 }
Ejemplo n.º 8
0
 public RSessionTest(TestMethodFixture testMethod) {
     _testMethod = testMethod.MethodInfo;
 }
 public CancelAll(TestMethodFixture testMethod) {
     _testMethodFixture = testMethod;
     _testMethod = testMethod.MethodInfo;
     _session = new RSession(0, null, () => {});
 }
Ejemplo n.º 10
0
 public IdeGraphicsDeviceTest(GraphicsDeviceTestFilesFixture files, TestMethodFixture testMethod) {
     _files = files;
     _testMethod = testMethod.MethodInfo;
 }
Ejemplo n.º 11
0
 public ValuesTest(TestMethodFixture testMethod) {
     _testMethod = testMethod.MethodInfo;
 }