/// <inheritdoc />
        public NUnitTask NUnitTaskByAssemblyName(params string[] testAssemblyFileName)
        {
            var task = new NUnitTask();

            task.TestAssemblyFileNames.AddRange(testAssemblyFileName);
            return(task);
        }
        public void ShouldThrowExceptionIfTestsFailed()
        {
            executorMock.ExpectAndReturn("Execute", ProcessResultFixture.CreateNonZeroExitCodeResult(), new object[] { new IsAnything() });

            task = new NUnitTask((ProcessExecutor)executorMock.MockInstance);
            Assert.That(delegate { task.Run(result); },
                        Throws.TypeOf <CruiseControlException>());
        }
        public void ShouldThrowExceptionIfTestsFailed()
        {
            executorMock.Setup(executor => executor.Execute(It.IsAny <ProcessInfo>())).Returns(ProcessResultFixture.CreateNonZeroExitCodeResult()).Verifiable();

            task = new NUnitTask((ProcessExecutor)executorMock.Object);
            Assert.That(delegate { task.Run(result); },
                        Throws.TypeOf <CruiseControlException>());
        }
        protected void Init()
        {
            tempOutputFile = new TempDirectory().CreateTextFile("results.xml", "foo");
            executorMock   = new DynamicMock(typeof(ProcessExecutor));

            task            = new NUnitTask(executorMock.MockInstance as ProcessExecutor);
            task.Assemblies = TEST_ASSEMBLIES;
            task.NUnitPath  = NUnitConsolePath;
            task.OutputFile = tempOutputFile.ToString();
            result          = Integration("testProject", WORKING_DIRECTORY, ARTIFACT_DIRECTORY);
        }
        public void LoadWithMultipleAssemblies()
        {
            const string xml = @"<nunit>
							 <path>d:\temp\nunit-console.exe</path>
				             <assemblies>
			                     <assembly>foo.dll</assembly>
								 <assembly>bar.dll</assembly>
							</assemblies>
						 </nunit>"                        ;

            task = (NUnitTask)NetReflector.Read(xml);
            AssertEqualArrays(new string[] { "foo.dll", "bar.dll" }, task.Assemblies);
        }
        public void HandleNUnitTaskFailure()
        {
            CreateProcessExecutorMock(NUnitTask.DefaultPath);
            ExpectToExecuteAndReturn(SuccessfulProcessResult());
            IIntegrationResult result = IntegrationResult();

            result.ArtifactDirectory = Path.GetTempPath();

            task            = new NUnitTask((ProcessExecutor)mockProcessExecutor.Object);
            task.Assemblies = new string[] { "foo.dll" };
            task.Run(result);

            Assert.AreEqual(1, result.TaskResults.Count);
            Assert.That(result.TaskOutput, Is.Empty);
            Verify();
        }
        public void LoadWithExcludedCategories()
        {
            const string xml = @"<nunit>
							 <path>d:\temp\nunit-console.exe</path>
				             <assemblies>
			                     <assembly>foo.dll</assembly>
								 <assembly>bar.dll</assembly>
							</assemblies>
                            <excludedCategories>
				                <excludedCategory>Category1</excludedCategory>
				                <excludedCategory>Category 2</excludedCategory>				
				                <excludedCategory> </excludedCategory>				
			                </excludedCategories>
						 </nunit>"                        ;

            task = (NUnitTask)NetReflector.Read(xml);
            Assert.AreEqual(3, task.ExcludedCategories.Length);
        }
        public void LoadWithSingleAssemblyNunitPath()
        {
            const string xml = @"<nunit>
	<path>d:\temp\nunit-console.exe</path>
	<assemblies>
		<assembly>foo.dll</assembly>
	</assemblies>
	<outputfile>c:\testfile.xml</outputfile>
	<timeout>50</timeout>
</nunit>";

            task = (NUnitTask)NetReflector.Read(xml);
            Assert.AreEqual(@"d:\temp\nunit-console.exe", task.NUnitPath);
            Assert.AreEqual(1, task.Assemblies.Length);
            Assert.AreEqual("foo.dll", task.Assemblies[0]);
            Assert.AreEqual(@"c:\testfile.xml", task.OutputFile);
            Assert.AreEqual(50, task.Timeout);
        }
 /// <inheritdoc />
 /// <summary>
 /// Initializes NunitTask with default command line options for nunit V2.
 /// </summary>
 /// <param name="projectName">Unit test project name.</param>
 /// <returns>New instance of nunit task</returns>
 public NUnitTask NUnitTaskForNunitV2(params string[] projectName)
 {
     return(NUnitTask.ForNunitV2(projectName));
 }