public void XsltOneInput() { Xslt task = new Xslt(); task.BuildEngine = new MockBuild(); string testDir; string assemblyDir = TaskUtility.AssemblyDirectory; TaskUtility.logEnvironmentInfo(task.Log); if (TaskUtility.CalledInBuildDirectory) { task.Log.LogMessage("Called in build directory"); // get the files from where msbuild put them testDir = TaskUtility.TestDirectory; } else { task.Log.LogMessage("Not called in build directory"); // get the files from where Visual Studio put them testDir = Path.Combine(TaskUtility.AssemblyDirectory, @"Xslt"); } task.Inputs = TaskUtility.StringArrayToItemArray(Path.Combine(testDir, @"XsltTestInput.xml")); task.Inputs[0].SetMetadata(@"configuration", "test"); task.Xsl = new TaskItem(Path.Combine(assemblyDir, @"NUnitReport.xsl")); task.Xsl.SetMetadata(@"project", "XsltTest"); task.RootTag = "mergedroot"; task.Output = Path.Combine(testDir, @"XsltTestOutput.html"); Assert.IsNotNull(task.Inputs, @"No inputs"); Assert.IsNull(task.RootAttributes, @"Wrong default root attributes"); Assert.IsNotNull(task.Xsl, @"No xsl"); Assert.IsNotNull(task.Output, @"No output"); // executing with one input files Assert.IsTrue(task.Execute(), @"Task with one input files failed"); Assert.IsTrue(File.Exists(task.Output), @"Missing output file"); string taskOutput = File.ReadAllText(task.Output); Assert.IsTrue(taskOutput.Contains( @"<h1>Project ""XsltTest"" - Configuration ""test"" - NUnit Test Report</h1>"), @"Input or Xsl metadata not correctly added."); }