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()); }