public async Task ExecuteMutationAsync_WhenExecuteMutationAndTestsPass_ShouldSetMutationsAsSurvived()
        {
            var compiler   = ProjectCompilerCreator.CreatePositiveCompiler(_fileSystem);
            var testRunner = TestRunnerClientCreator.CreatePositive();

            var mutationDocumentExecutor = new MutationDocumentExecutor(compiler, _dependency, testRunner, _fileSystem);
            var result = await mutationDocumentExecutor.ExecuteMutationAsync(_config, _mutationDocument);

            Assert.IsTrue(result.Survived);
        }
        public void ExecuteMutationAsync_WhenExecuteMutationAndNoMappingMatch_ShouldThrowException()
        {
            _config.MutationProjects.First().MappedTestProjects = new List <string> {
                "TestProject2"
            };

            var compiler   = ProjectCompilerCreator.CreatePositiveCompiler(_fileSystem);
            var testRunner = TestRunnerClientCreator.CreatePositive();

            var mutationDocumentExecutor = new MutationDocumentExecutor(compiler, _dependency, testRunner, _fileSystem);

            Assert.ThrowsAsync <MutationDocumentException>(async() => await mutationDocumentExecutor.ExecuteMutationAsync(_config, _mutationDocument));
        }
        public void SetUp()
        {
            _fileSystem        = new MockFileSystem();
            _config            = ConfigCreator.CreateConfig(_fileSystem);
            _mutationDocuments = new MutationDocumentCreator().CreateMutations(_config);

            var dependency = new TestRunnerDependencyFilesHandler(_fileSystem);

            var compiler   = ProjectCompilerCreator.CreatePositiveCompiler(_fileSystem);
            var testRunner = TestRunnerClientCreator.CreateNegative();

            _mutationExecutor = new MutationDocumentExecutor(compiler, dependency, testRunner, _fileSystem);
        }
        public async Task ExecuteMutationAsync_WhenExecuteMutationAndCancel_ShouldGetMutationCancelled()
        {
            var compiler     = ProjectCompilerCreator.CreatePositiveCompiler(_fileSystem);
            var testRunner   = TestRunnerClientCreator.CreatePositive();
            var cancellation = new CancellationTokenSource();
            var token        = cancellation.Token;

            cancellation.Cancel();

            var mutationDocumentExecutor = new MutationDocumentExecutor(compiler, _dependency, testRunner, _fileSystem);
            var result = await mutationDocumentExecutor.ExecuteMutationAsync(_config, _mutationDocument, token);

            Assert.AreEqual("Mutation cancelled", result.UnexpectedError);
        }
        public async Task Handle_WhenExecuteMutationAndGetUnknownError_ShouldFindUnknownMutation()
        {
            var dependency = new TestRunnerDependencyFilesHandler(_fileSystem);

            var compiler   = ProjectCompilerCreator.CreatePositiveCompiler(_fileSystem);
            var testRunner = TestRunnerClientCreator.CreateEmptyTestResult();

            _mutationExecutor = new MutationDocumentExecutor(compiler, dependency, testRunner, _fileSystem);
            var mutationDocumentExecutor = new ExecuteMutationsCommandHandler(_mutationExecutor, new MutationRunLoggerManager());


            var results = await mutationDocumentExecutor.Handle(new ExecuteMutationsCommand(_config, _mutationDocuments), CancellationToken.None);

            Assert.AreEqual(3, results.MutationDocumentResults.Count);

            var result = results.MutationDocumentResults.First();

            Assert.IsNotNull(result.UnexpectedError);
        }
 public ExecuteMutationCommandHandler(MutationDocumentExecutor mutationDocumentExecutor)
 {
     _mutationDocumentExecutor = mutationDocumentExecutor;
 }
Exemple #7
0
 public ExecuteMutationsCommandHandler(MutationDocumentExecutor mutationDocumentExecutor, MutationRunLoggerFactory mutationRunLoggerFactory)
 {
     _mutationDocumentExecutor = mutationDocumentExecutor;
     _mutationRunLoggerFactory = mutationRunLoggerFactory;
 }
Exemple #8
0
 public ExecuteMutationsCommandHandler(MutationDocumentExecutor mutationDocumentExecutor, IMutationRunLoggerManager mutationRunLoggerManager)
 {
     _mutationDocumentExecutor = mutationDocumentExecutor;
     _mutationRunLoggerManager = mutationRunLoggerManager;
 }