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)); }
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(); }
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; }
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) { }
public IXmlMemberSerialiser Create(ReflectorMember member, ReflectorPropertyAttribute attribute) { return new WsIdCollectionSerializer(member, attribute); }
public XmlArraySerialiser(ReflectorMember member, ReflectorPropertyAttribute attribute) : base(member, attribute) { converter = new ReflectorTypeConverter(); }
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) { }