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 IXmlMemberSerialiser Create(ReflectorMember member, ReflectorPropertyAttribute attribute)
		{
			if (member.MemberType.IsArray)
			{
				return new XmlArraySerialiser(member, attribute);
			}
			else if (typeof(ICollection).IsAssignableFrom(member.MemberType) || 
				(attribute.InstanceType != null && typeof(ICollection).IsAssignableFrom(attribute.InstanceType)))
			{
				return new XmlCollectionSerialiser(member, attribute);
			}
			return new XmlMemberSerialiser(member, attribute);
		}
 public IXmlMemberSerialiser Create(ReflectorMember member, ReflectorPropertyAttribute attribute)
 {
     if (member.MemberType.IsArray)
     {
         return(new XmlArraySerialiser(member, attribute));
     }
     else if (typeof(ICollection).IsAssignableFrom(member.MemberType) ||
              (attribute.InstanceType != null && typeof(ICollection).IsAssignableFrom(attribute.InstanceType)))
     {
         return(new XmlCollectionSerialiser(member, attribute));
     }
     return(new XmlMemberSerialiser(member, attribute));
 }
Beispiel #6
0
        private IEnumerable InitialiseMemberSerialisers()
        {
            SortedList serialisers = new SortedList();

            foreach (MemberInfo member in type.GetMembers())
            {
                ReflectorPropertyAttribute attribute = ReflectorPropertyAttribute.GetAttribute(member);
                if (attribute != null)
                {
                    serialisers.Add(member.Name, attribute.CreateSerialiser(ReflectorMember.Create(member)));
                }
            }
            return(serialisers.Values);
        }
        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());
        }
        public void WriteHandlesASingleItem()
        {
            var attribute = new ReflectorPropertyAttribute("value");
            var serialiser = new NameValuePairSerialiser(null, attribute, false);
            var value = new NameValuePair("a name", "the value");
            var builder = new StringBuilder();
            using (var stringWriter = new StringWriter(builder))
            {
                var settings = new XmlWriterSettings
                {
                    Indent = false,
                    NewLineOnAttributes = false,
                    OmitXmlDeclaration = true
                };
                using (var writer = XmlWriter.Create(stringWriter, settings))
                {
                    serialiser.Write(writer, value);
                }
            }

            Assert.AreEqual("<value name=\"a name\">the value</value>", builder.ToString());
        }
 /// <summary>
 /// Creates the specified serialiser.
 /// </summary>
 /// <param name="memberInfo">The member info.</param>
 /// <param name="attribute">The attribute defining the serialiser.</param>
 /// <returns>A new instance of <see cref="UriSerializer"/>.</returns>
 public IXmlMemberSerialiser Create(ReflectorMember memberInfo, ReflectorPropertyAttribute attribute)
 {
     return new PrivateStringSerialiser(memberInfo, attribute);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="NetworkCredentialsSerializer"/> class.
 /// </summary>
 /// <param name="member">The member to use.</param>
 /// <param name="attribute">The attribute defining the serialiser.</param>
 public NetworkCredentialsSerializer(ReflectorMember member, ReflectorPropertyAttribute attribute)
     : base(member, attribute)
 {
 }
 public IXmlMemberSerialiser Create(ReflectorMember memberInfo, ReflectorPropertyAttribute attribute)
 {
     return new BuildReportXslFilenameSerialiser(memberInfo, attribute);
 }
 /// <summary>
 /// Create the serialiser.
 /// </summary>
 /// <param name="memberInfo"></param>
 /// <param name="attribute"></param>
 /// <returns></returns>
 public IXmlMemberSerialiser Create(ReflectorMember memberInfo, ReflectorPropertyAttribute attribute)
 {
     return new MergeFileSerialiser(memberInfo, attribute);
 }
 /// <summary>
 /// Create the serialiser.
 /// </summary>
 /// <param name="memberInfo"></param>
 /// <param name="attribute"></param>
 /// <returns></returns>
 public IXmlMemberSerialiser Create(ReflectorMember memberInfo, ReflectorPropertyAttribute attribute)
 {
     return new NameValuePairSerialiser(memberInfo, attribute, true);
 }
 public XmlMemberSerialiser(ReflectorMember member, ReflectorPropertyAttribute attribute)
 {
     ReflectorMember = member;
     Attribute = attribute;
     Instantiator = new DefaultInstantiator();
 }
Beispiel #15
0
 public TimeoutSerializer(ReflectorMember info, ReflectorPropertyAttribute attribute)
     : base(info, attribute)
 {
 }
 /// <summary>
 /// Initialise a new <see cref="NameValuePairSerialiser"/>.
 /// </summary>
 /// <param name="info"></param>
 /// <param name="attribute"></param>
 /// <param name="isList"></param>
 public NameValuePairSerialiser(ReflectorMember info, ReflectorPropertyAttribute attribute, bool isList)
     : base(info, attribute)
 {
     this.isList = isList;
 }
Beispiel #17
0
			public WsIdCollectionSerializer(ReflectorMember member,
											ReflectorPropertyAttribute attribute)
					: base(member, attribute) {}
        /// <summary>
        /// Initialise a new <see cref="MergeFileSerialiser"/>.
        /// </summary>
        /// <param name="info"></param>
        /// <param name="attribute"></param>
        public MergeFileSerialiser(ReflectorMember info, ReflectorPropertyAttribute attribute)
            : base(info, attribute)
		{ }
Beispiel #19
0
			public IXmlMemberSerialiser Create(ReflectorMember member,
											   ReflectorPropertyAttribute attribute)
			{
				return new WsIdCollectionSerializer(member, attribute);
			}
Beispiel #20
0
 public XmlArraySerialiser(ReflectorMember member, ReflectorPropertyAttribute attribute) : base(member, attribute)
 {
     converter = new ReflectorTypeConverter();
 }
Beispiel #21
0
 public XmlCollectionSerialiser(ReflectorMember member, ReflectorPropertyAttribute attribute) : base(member, attribute)
 {
 }
        /// <summary>
        /// Creates the specified member info.	
        /// </summary>
        /// <param name="memberInfo">The member info.</param>
        /// <param name="attribute">The attribute.</param>
        /// <returns></returns>
        /// <remarks></remarks>
		public IXmlMemberSerialiser Create(ReflectorMember memberInfo, ReflectorPropertyAttribute attribute)
		{
			return new TimeoutSerializer(memberInfo, attribute);
		}
 /// <summary>
 /// Creates the specified serialiser.
 /// </summary>
 /// <param name="memberInfo">The member info.</param>
 /// <param name="attribute">The attribute defining the serialiser.</param>
 /// <returns>A new instance of <see cref="NetworkCredentialsSerializer"/>.</returns>
 public IXmlMemberSerialiser Create(ReflectorMember memberInfo, ReflectorPropertyAttribute attribute)
 {
     return new NetworkCredentialsSerializer(memberInfo, attribute);
 }
 public XmlMemberSerialiser(ReflectorMember member, ReflectorPropertyAttribute attribute)
 {
     this.member       = member;
     this.attribute    = attribute;
     this.instantiator = new DefaultInstantiator();
 }
        public void WriteHandlesAList()
        {
            var attribute = new ReflectorPropertyAttribute("list");
            var serialiser = new NameValuePairSerialiser(null, attribute, true);
            var values = new NameValuePair[] 
            {
                new NameValuePair("name1", "the value of 1"),
                new NameValuePair("name2", "the value of 2")
            };
            var builder = new StringBuilder();
            using (var stringWriter = new StringWriter(builder))
            {
                var settings = new XmlWriterSettings
                {
                    Indent = false,
                    NewLineOnAttributes = false,
                    OmitXmlDeclaration = true
                };
                using (var writer = XmlWriter.Create(stringWriter, settings))
                {
                    serialiser.Write(writer, values);
                }
            }

            Assert.AreEqual(
                "<list><value name=\"name1\">the value of 1</value><value name=\"name2\">the value of 2</value></list>", 
                builder.ToString());
        }
 public BuildReportXslFilenameSerialiser(ReflectorMember info, ReflectorPropertyAttribute attribute)
     : base(info, attribute)
 { }
 /// <summary>
 /// Initializes a new instance of the <see cref="UriSerializer"/> class.
 /// </summary>
 /// <param name="member">The member.</param>
 /// <param name="attribute">The attribute.</param>
 public PrivateStringSerialiser(ReflectorMember member, ReflectorPropertyAttribute attribute)
     : base(member, attribute)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="UriSerializer"/> class.
 /// </summary>
 /// <param name="member">The member.</param>
 /// <param name="attribute">The attribute.</param>
 public UriSerializer(ReflectorMember member, ReflectorPropertyAttribute attribute)
     : base(member, attribute)
 {
 }
		public XmlArraySerialiser(ReflectorMember member, ReflectorPropertyAttribute attribute) : base(member, attribute)
		{
			converter = new ReflectorTypeConverter();
		}