Пример #1
0
        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));
            }
        }
Пример #2
0
 public void NotifyFile(string fileName, MergeFileInfo info)
 {
     Console.WriteLine("File {0}: {1}", fileName, info);
 }
Пример #3
0
 public void NotifyFile(string fileName, MergeFileInfo info)
 {
     MergedFileNames.Add(Tuple.Create(fileName, info));
 }