コード例 #1
0
        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);
        }
コード例 #2
0
        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");
        }
コード例 #3
0
        public void ReadLoadsAttribute()
        {
            var member     = TestClass.Fetch();
            var attribute  = new ReflectorPropertyAttribute("test");
            var serialiser = new PrivateStringSerialiser(member, attribute);
            var document   = new XmlDocument();
            var element    = document.CreateAttribute("test");

            element.Value = "value of the attribute";
            var result = serialiser.Read(element, null);

            Assert.IsInstanceOf <PrivateString>(result);
            Assert.AreEqual("value of the attribute", (result as PrivateString).PrivateValue);
        }
コード例 #4
0
        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());
        }