Exemple #1
0
        public void RunUnitTests_WhenAndTestsFail_ShouldThrowExceptions()
        {
            var baselineCreatorRunUnitTestsHandler = new BaselineCreatorRunUnitTestsHandler(
                TestRunnerClientCreator.CreateNegative(),
                _testRunnerDependencyFilesHandler);

            Assert.ThrowsAsync <BaselineException>(async() => await baselineCreatorRunUnitTestsHandler.RunUnitTests(_config, BaseLineDirectoryPath));
        }
        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);
        }
Exemple #3
0
        public async Task RunUnitTests_WhenAndTestsPass_ShouldGetBaselineResults()
        {
            var baselineCreatorRunUnitTestsHandler = new BaselineCreatorRunUnitTestsHandler(
                TestRunnerClientCreator.CreatePositive(),
                _testRunnerDependencyFilesHandler);

            var result = await baselineCreatorRunUnitTestsHandler.RunUnitTests(_config, BaseLineDirectoryPath);

            Assert.AreEqual(1, result.Count);
            Assert.AreEqual("TestProject", result.First().TestProjectName);
            Assert.AreEqual(TimeSpan.FromSeconds(1), result.First().ExecutionTime);
        }
        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);
        }
Exemple #6
0
        public void RunUnitTests_WhenAndWeCancel_ShouldThrowCancelExceptions()
        {
            var baselineCreatorRunUnitTestsHandler = new BaselineCreatorRunUnitTestsHandler(
                TestRunnerClientCreator.CreateNegative(),
                _testRunnerDependencyFilesHandler);

            var cts   = new CancellationTokenSource();
            var token = cts.Token;

            cts.Cancel();

            Assert.ThrowsAsync <TaskCanceledException>(async() => await baselineCreatorRunUnitTestsHandler.RunUnitTests(_config, BaseLineDirectoryPath, token));
        }
        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 CreateBaselineAsync_WhenCreatingBaseline_ShouldGetBaselineInfoAndDeleteBaselineDirectory()
        {
            var baselineCreator = new BaselineCreator(
                _fileSystem,
                new BaselineCreatorCompileMutationProjectsHandler(ProjectCompilerCreator.CreatePositiveCompiler(_fileSystem), _fileSystem),
                new BaselineCreatorRunUnitTestsHandler(TestRunnerClientCreator.CreatePositive(), new TestRunnerDependencyFilesHandler(_fileSystem)),
                new BaselineCreatorLogSummaryHandler());

            var result = await baselineCreator.CreateBaselineAsync(_config);

            Assert.AreEqual(1, result.Count);
            Assert.AreEqual("TestProject", result.First().TestProjectName);
            Assert.AreEqual(TimeSpan.FromSeconds(1), result.First().ExecutionTime);
        }
        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);
        }