public void CanWriteAndReadXmlForResultSetSchema()
        {
            var rss = new ResultSetSchema();

            rss.Columns.Add(new Column {
                ClrType = typeof(int), DbType = "int", Name = "colc"
            });

            using (var w = new TestXmlWriter())
            {
                new ResultSetSchemaSerializer().Serialize(w.Writer, rss);

                using (var r = new TestXmlReader(w.Xml))
                {
                    var rss2 = new ResultSetSchemaSerializer().Deserialize(r.Reader);

                    Assert.IsNotNull(rss2);
                    Assert.IsNotNull(rss2.Columns);
                    Assert.AreEqual(1, rss2.Columns.Count);
                    Assert.AreEqual("colc", rss2.Columns[0].Name);
                    Assert.AreEqual("int", rss2.Columns[0].DbType);
                    Assert.AreSame(typeof(int), rss2.Columns[0].ClrType);
                }
            }
        }
        public void CanReadXmlForResultSetSchema()
        {
            var xml = new StringBuilder();

            xml.Append("<Schema>");
            xml.Append("<Columns>");
            xml.Append("<Column name=\"cola\" dbType=\"varchar\" clrType=\"System.String\" />");
            xml.Append("<Column name=\"colb\" dbType=\"varchar\" clrType=\"System.String\" />");
            xml.Append("</Columns>");
            xml.Append("</Schema>");

            using (var r = new TestXmlReader(xml.ToString()))
            {
                var rss = new ResultSetSchemaSerializer().Deserialize(r.Reader);

                Assert.IsNotNull(rss);
                Assert.IsNotNull(rss.Columns);
                Assert.AreEqual(2, rss.Columns.Count);
            }
        }