public void ConfigurationIsLoadedCorrectly() { var reader = new NetReflectorConfigurationReader(); var xml = new XmlDocument(); xml.LoadXml(@" <cruisecontrol> <project name=""WebTrunkTest""> <tasks> <merge target=""somewhere""> <files> <file>File 1</file> <file action=""Copy"">File 2</file> <file action=""Merge"">File 3</file> </files> </merge> </tasks> </project> </cruisecontrol> "); var configuration = reader.Read(xml, null); Assert.IsNotNull(configuration, "Configuration not loaded"); var project = configuration.Projects["WebTrunkTest"] as Project; Assert.IsNotNull(project, "Project not loaded"); Assert.AreNotEqual(0, project.Tasks.Length, "Tasks not loaded"); var task = project.Tasks[0] as MergeFilesTask; Assert.IsNotNull(task, "Task not correctly loaded"); Assert.AreEqual("somewhere", task.TargetFolder, "TargetFolder is incorrect"); var expected = new MergeFileInfo[] { new MergeFileInfo { FileName = "File 1", MergeAction = MergeFileInfo.MergeActionType.Merge }, new MergeFileInfo { FileName = "File 2", MergeAction = MergeFileInfo.MergeActionType.Copy }, new MergeFileInfo { FileName = "File 3", MergeAction = MergeFileInfo.MergeActionType.Merge } }; Assert.AreEqual(task.MergeFiles.Length, expected.Length, "File count incorrect"); for (var loop = 0; loop < expected.Length; loop++) { Assert.AreEqual(expected[loop].FileName, task.MergeFiles[loop].FileName, string.Format(System.Globalization.CultureInfo.CurrentCulture, "FileName on {0} does not match", loop)); Assert.AreEqual(expected[loop].MergeAction, task.MergeFiles[loop].MergeAction, string.Format(System.Globalization.CultureInfo.CurrentCulture, "MergeAction on {0} does not match", loop)); } }
public void NotifyFile(string fileName, MergeFileInfo info) { Console.WriteLine("File {0}: {1}", fileName, info); }
public void NotifyFile(string fileName, MergeFileInfo info) { MergedFileNames.Add(Tuple.Create(fileName, info)); }