public void ReadHandlesNull()
 {
     var member = TestClass.Fetch();
     var attribute = new ReflectorPropertyAttribute("test");
     attribute.Required = false;
     var serialiser = new PrivateStringSerialiser(member, attribute);
     var result = serialiser.Read(null, null);
     Assert.IsNull(result);
 }
 public void ReadFailsNullOnRequired()
 {
     var member = TestClass.Fetch();
     var attribute = new ReflectorPropertyAttribute("test");
     attribute.Required = true;
     var serialiser = new PrivateStringSerialiser(member, attribute);
     Assert.Throws<NetReflectorItemRequiredException>(() =>
     {
         serialiser.Read(null, null);
     }, "test is required");
 }
 public void ReadLoadsElement()
 {
     var member = TestClass.Fetch();
     var attribute = new ReflectorPropertyAttribute("test");
     var serialiser = new PrivateStringSerialiser(member, attribute);
     var document = new XmlDocument();
     var element = document.CreateElement("test");
     element.InnerText = "value of the element";
     var result = serialiser.Read(element, null);
     Assert.IsInstanceOf<PrivateString>(result);
     Assert.AreEqual("value of the element", (result as PrivateString).PrivateValue);
 }
        public void WriteHandlesDirect()
        {
            var member = TestClass.Fetch();
            var attribute = new ReflectorPropertyAttribute("test");
            var serialiser = new PrivateStringSerialiser(member, attribute);
            var builder = new StringBuilder();
            var settings = new XmlWriterSettings
            {
                OmitXmlDeclaration = true
            };
            using (var writer = XmlWriter.Create(builder, settings))
            {
                serialiser.Write(writer, new PrivateString
                {
                    PrivateValue = "test"
                });
            }

            Assert.AreEqual("<test>********</test>", builder.ToString());
        }