コード例 #1
0
        public void CanReadXmlForColumnCollectionWith2Columns()
        {
            var xml = new StringBuilder();

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


            using (var r = new TestXmlReader(xml.ToString()))
            {
                var cc = new ColumnCollectionSerializer().Deserialize(r.Reader);

                Assert.IsNotNull(cc);
                Assert.AreEqual(2, cc.Count);
                Assert.IsNotNull(cc[0]);
                Assert.AreEqual("cola", cc[0].Name, "abc");
                Assert.AreEqual("varchar", cc[0].DbType);
                Assert.AreSame(typeof(string), cc[0].ClrType);
                Assert.IsNotNull(cc[1]);
                Assert.AreEqual("colb", cc[1].Name, "def");
                Assert.AreEqual("int", cc[1].DbType, "int");
                Assert.AreEqual(typeof(int), cc[1].ClrType);
            }
        }
コード例 #2
0
        public void CanWriteAndReadXmlOfCollectionWith2Columns()
        {
            var cc = new ColumnCollection();

            cc.Add(new Column {
                ClrType = typeof(string), DbType = "varchar", Name = "abc"
            });
            cc.Add(new Column {
                ClrType = typeof(int), DbType = "int", Name = "def"
            });

            using (var w = new TestXmlWriter())
            {
                new ColumnCollectionSerializer().Serialize(w.Writer, cc);

                using (var r = new TestXmlReader(w.Xml))
                {
                    var cc2 = new ColumnCollectionSerializer().Deserialize(r.Reader);

                    Assert.IsNotNull(cc2);
                    Assert.AreEqual(2, cc2.Count);
                    Assert.AreEqual("abc", cc2[0].Name, "abc");
                    Assert.AreEqual("varchar", cc2[0].DbType, "varchar");
                    Assert.AreSame(typeof(string), cc2[0].ClrType);
                    Assert.AreEqual("def", cc2[1].Name, "def");
                    Assert.AreEqual("int", cc2[1].DbType, "int");
                    Assert.AreEqual(typeof(int), cc2[1].ClrType);
                }
            }
        }
コード例 #3
0
        public void CanWriteAndReadXmlOfCollectionWithoutColumns()
        {
            var cc = new ColumnCollection();

            using (var w = new TestXmlWriter())
            {
                new ColumnCollectionSerializer().Serialize(w.Writer, cc);

                using (var r = new TestXmlReader(w.Xml))
                {
                    var cc2 = new ColumnCollectionSerializer().Deserialize(r.Reader);

                    Assert.IsNotNull(cc2);
                    Assert.AreEqual(0, cc2.Count);
                }
            }
        }
コード例 #4
0
        public void CanReadXmlForColumnCollectionWithoutColumns()
        {
            using (var r = new TestXmlReader("<Columns />"))
            {
                var cc = new ColumnCollectionSerializer().Deserialize(r.Reader);

                Assert.IsNotNull(cc);
                Assert.AreEqual(0, cc.Count);
            }

            using (var r = new TestXmlReader("<Columns></Columns>"))
            {
                var cc = new ColumnCollectionSerializer().Deserialize(r.Reader);

                Assert.IsNotNull(cc);
                Assert.AreEqual(0, cc.Count);
            }
        }