public void WriteNullIntoACollection()
        {
            XamlSchemaContext xsc = new XamlSchemaContext();
            XamlObjectWriter  ow  = new XamlObjectWriter(xsc);

            XamlType roParentWithCpaXT = xsc.GetXamlType(typeof(RoParentWithCP));

            ow.WriteStartObject(roParentWithCpaXT);
            XamlMember contentProperty = roParentWithCpaXT.ContentProperty;

            ow.WriteStartMember(contentProperty);
            ow.WriteGetObject();
            ow.WriteStartMember(XamlLanguage.Items);
            ow.WriteValue(null);
            ow.WriteValue(null);
            ow.WriteEndMember();
            ow.WriteEndObject();
            ow.WriteEndMember();
            ow.WriteEndObject();

            RoParentWithCP roParentWithCP = (RoParentWithCP)(ow.Result);
            List <Kid>     kids           = roParentWithCP.RoKids;

            if (kids.Count != 2 || kids[0] != null || kids[1] != null)
            {
                throw new Exception("Calling WriteValue twice with a null value is malfunctioning.");
            }
        }
        public void WriteValuesIntoACollection()
        {
            XamlSchemaContext xsc = new XamlSchemaContext();
            XamlObjectWriter  ow  = new XamlObjectWriter(xsc);

            XamlType roParentWithCpaXT = xsc.GetXamlType(typeof(RoParentWithCP));

            ow.WriteStartObject(roParentWithCpaXT);
            XamlMember contentProperty = roParentWithCpaXT.ContentProperty;

            ow.WriteStartMember(contentProperty);
            ow.WriteGetObject();
            ow.WriteStartMember(XamlLanguage.Items);
            ow.WriteValue(new Kid());
            ow.WriteValue(new Kid());
            ow.WriteValue(new Kid());
            ow.WriteEndMember();
            ow.WriteEndObject();
            ow.WriteEndMember();
            ow.WriteEndObject();

            RoParentWithCP roParentWithCpa = (RoParentWithCP)(ow.Result);

            if (roParentWithCpa.RoKids.Count != 3)
            {
                throw new Exception("WriteValue of multiple items aren't being added into a collection by XamlObjectWriter");
            }
        }