public void GenerateMessageFormatHandlesMessageWithoutProperties()
        {
            var namespaces = new Dictionary <string, string>();
            var actual     = ActionInvoker.GenerateMessageFormat(namespaces, typeof(Messages.Blank));
            var expected   = "<definition name=\"Blank\" namespace=\"urn:cruisecontrol:common\" />";

            Assert.AreEqual(expected, actual);
        }
        public void GenerateMessageFormatAddsNewNamespace()
        {
            var namespaces = new Dictionary <string, string>();

            ActionInvoker.GenerateMessageFormat(namespaces, typeof(Messages.Blank));
            Assert.IsTrue(namespaces.ContainsKey("CruiseControl.Common.Messages"));
            Assert.AreEqual("urn:cruisecontrol:common", namespaces["CruiseControl.Common.Messages"]);
        }
        public void GenerateMessageFormatHandlesMessageWithProperties()
        {
            var namespaces = new Dictionary <string, string>();
            var actual     = ActionInvoker.GenerateMessageFormat(namespaces, typeof(Messages.SingleValue));
            var expected   = "<definition name=\"SingleValue\" namespace=\"urn:cruisecontrol:common\">" +
                             "<value name=\"Value\" type=\"string\" />" +
                             "</definition>";

            Assert.AreEqual(expected, actual);
        }
        public void GenerateMessageFormatHandlesMissingXmlnsDefinition()
        {
            var namespaces = new Dictionary <string, string>();

            ActionInvoker.GenerateMessageFormat(namespaces, typeof(FakeMessage));
            Assert.IsTrue(namespaces.ContainsKey("CruiseControl.Core.Tests.Utilities"));
            Assert.AreEqual(
                "clr-namespace:CruiseControl.Core.Tests.Utilities;assembly=CruiseControl.Core.Tests",
                namespaces["CruiseControl.Core.Tests.Utilities"]);
        }
        public void GenerateMessageIgnoresExistingNamespace()
        {
            var namespaces = new Dictionary <string, string>();
            var ns         = "anotherUrn";

            namespaces.Add("CruiseControl.Common.Messages", ns);
            ActionInvoker.GenerateMessageFormat(namespaces, typeof(Messages.Blank));
            Assert.IsTrue(namespaces.ContainsKey("CruiseControl.Common.Messages"));
            Assert.AreEqual(ns, namespaces["CruiseControl.Common.Messages"]);
        }