public void Serialize_IfTheEntriesContainsAnEntryWithAnInvalidNameAsXmlName_ShouldSerializeProperly()
        {
            var serializableLocalizationEntry = new SerializableLocalizationEntry
            {
                Value = "Entry-value"
            };

            var serializableLocalizationNode = new SerializableLocalizationNode();

            serializableLocalizationNode.Entries.Add("Invalid-xml-element-name", serializableLocalizationEntry);

            Assert.AreEqual("<node><entry name=\"Invalid-xml-element-name\">Entry-value</entry></node>", this.XmlSerialize(serializableLocalizationNode));
        }
        public void Serialize_IfTheEntriesContainsAnEntryWithAValidNameAsXmlName_ShouldSerializeProperly()
        {
            var serializableLocalizationEntry = new SerializableLocalizationEntry
            {
                Value = "Entry-value"
            };

            var serializableLocalizationNode = new SerializableLocalizationNode();

            serializableLocalizationNode.Entries.Add("Valid_Name", serializableLocalizationEntry);

            Assert.AreEqual("<node><valid_Name>Entry-value</valid_Name></node>", this.XmlSerialize(serializableLocalizationNode));
        }
        public void Serialize_IfTheEntriesAndNodesAreNotEmpty_ShouldSerializeProperly()
        {
            var serializableLocalizationEntry = new SerializableLocalizationEntry
            {
                Value = "Entry-value"
            };

            var serializableLocalizationNode = new SerializableLocalizationNode();

            serializableLocalizationNode.Entries.Add("Invalid-xml-element-name", serializableLocalizationEntry);
            serializableLocalizationNode.Nodes.Add(new SerializableLocalizationNode {
                NameInternal = "MyNode"
            });

            Assert.AreEqual("<node><myNode /><entry name=\"Invalid-xml-element-name\">Entry-value</entry></node>", this.XmlSerialize(serializableLocalizationNode));
        }
        public void IsValidElementName_ShouldWorkProperly()
        {
            var serializableLocalizationEntry = new SerializableLocalizationEntry();

            Assert.IsFalse(serializableLocalizationEntry.IsValidElementName(null), "NULL did not return false.");

            Assert.IsFalse(serializableLocalizationEntry.IsValidElementName(string.Empty), "\"\" did not return false.");

            Assert.IsFalse(serializableLocalizationEntry.IsValidElementName(" "), "\" \" did not return false.");

            var elementName = "a" + Environment.NewLine + "a";

            Assert.IsFalse(serializableLocalizationEntry.IsValidElementName(elementName), "\"" + elementName + "\" did not return false.");

            Assert.IsTrue(serializableLocalizationEntry.IsValidElementName("a"), "\"a\" did not return true.");

            Assert.IsTrue(serializableLocalizationEntry.IsValidElementName("_a_1_"), "\"_a_1_\" did not return true.");
        }