public void CanEquateRowValues()
        {
            var rows1 = new ResultSetRowCollection();
            var rows2 = new ResultSetRowCollection();

            Assert.IsTrue(rows1.EqualRowCollections(rows2));

            rows1.Add(new ResultSetRow());
            rows2.Add(new ResultSetRow());
            Assert.IsTrue(rows1.EqualRowCollections(rows2));

            rows1[0]["cola"] = 99;
            Assert.IsFalse(rows1.EqualRowCollections(rows2));
            rows2[0]["cola"] = 99;
            Assert.IsTrue(rows1.EqualRowCollections(rows2));

            rows1.Add(new ResultSetRow());
            rows2.Add(new ResultSetRow());
            Assert.IsTrue(rows1.EqualRowCollections(rows2));

            rows1[1]["abc"] = "hi";
            Assert.IsFalse(rows1.EqualRowCollections(rows2));
            rows2[1]["abc"] = "hi";
            Assert.IsTrue(rows1.EqualRowCollections(rows2));

            rows1.Add(new ResultSetRow());
            rows2.Add(new ResultSetRow());
            rows1[1]["test"]  = "klm";
            rows2[2]["test2"] = "klm";
            Assert.IsFalse(rows1.EqualRowCollections(rows2));
        }
Example #2
0
        public void CanValidateWithoutNoRecursiveCheck()
        {
            var schema = new ResultSetSchema();
            var rows   = new ResultSetRowCollection();

            rows.Add(new ResultSetRow());
            rows[0]["Name"] = "will";

            Assert.IsNull(rows.Validate(schema));
        }
Example #3
0
        public void CanwriteXmlFor2Rows()
        {
            using (var w = new TestXmlWriter())
            {
                var rows = new ResultSetRowCollection();
                rows.Add(new ResultSetRow());
                rows.Add(new ResultSetRow());
                rows[0]["Name"] = "john";
                rows[1]["Name"] = "smith";

                var schema = new ResultSetSchema();
                schema.Columns.Add(new Column {
                    ClrType = typeof(string), DbType = "varchar", Name = "Name"
                });

                new ResultSetRowCollectionSerializer().Serialize(w.Writer, rows, new ResultSetRowCollectionSerializerContext {
                    Schema = schema
                });

                Assert.AreEqual("<Rows><Row><Name>john</Name></Row><Row><Name>smith</Name></Row></Rows>", w.Xml);
            }
        }
Example #4
0
        public void ValidationSucceedsWithRecursiveCheckAndValidRows()
        {
            var schema = new ResultSetSchema();

            schema.Columns.Add(new Column {
                Name = "Name", ClrType = typeof(string), DbType = "varchar"
            });
            var rows = new ResultSetRowCollection();

            rows.Add(new ResultSetRow());
            rows[0]["Name"] = "will";

            Assert.IsNull(rows.Validate(schema, true));
        }
Example #5
0
        public void ValidationFailsWithRecursiveCheckAndInvalidRow()
        {
            var schema = new ResultSetSchema();
            var rows   = new ResultSetRowCollection();

            rows.Add(new ResultSetRow());
            rows[0]["Name"] = "will";

            var ex = rows.Validate(schema, true);

            Assert.IsNotNull(ex);
            Assert.AreSame(typeof(InvalidOperationException), ex.GetType());
            Assert.AreEqual("Found invalid row(s)", ex.Message);
            Assert.IsNotNull(ex.InnerException);
        }