Ejemplo n.º 1
0
        public void CompareDatasets_Given_datasets_with_same_unsorted_data_Method_fails()
        {
            var elementA = XElement.Parse(@"
<dataset name=""B"" table=""tableA"">
    <data>
        <row id=""10"" name=""AA""/>
        <row id=""11"" name=""BB""/>
    </data>
</dataset>
");

            var elementB = XElement.Parse(@"
<dataset name=""B"" table=""tableA"">
    <data>
        <row id=""11"" name=""BB""/>
        <row id=""10"" name=""AA""/>
    </data>
</dataset>
");

            var datasetElementA = DatasetElement.Load(elementA);
            var datasetElementB = DatasetElement.Load(elementB);

            try
            {
                DbSafeManagerHelper.CompareDatasets(datasetElementA, datasetElementB, new string[] { "id" }, true);
            }
            catch (AssertFailedException)
            {
                return;
            }

            Assert.Fail("An exception was not thrown");
        }
Ejemplo n.º 2
0
        public void CompareDatasets_Given_different_number_of_rows_Method_fails()
        {
            var elementA = XElement.Parse(@"<dataset name=""A"" table=""tableA""><data/></dataset>");
            var elementB = XElement.Parse(@"
<dataset name=""B"" table=""tableA"">
    <data>
        <row/>
    </data>
</dataset>
");

            var datasetElementA = DatasetElement.Load(elementA);
            var datasetElementB = DatasetElement.Load(elementB);

            try
            {
                DbSafeManagerHelper.CompareDatasets(datasetElementA, datasetElementB, new string[] { "key" }, false);
            }
            catch (AssertFailedException ex)
            {
                StringAssert.Contains(ex.Message, "The number of rows are different.");
                return;
            }

            Assert.Fail("An exception was not thrown");
        }
Ejemplo n.º 3
0
        public void CompareDatasets_Given_null_expected_data_and_actual_data_Method_succeed()
        {
            var elementA = XElement.Parse(@"<dataset name=""A"" table=""tableA""></dataset>");
            var elementB = XElement.Parse(@"<dataset name=""B"" table=""tableA""></dataset>");

            var datasetElementA = DatasetElement.Load(elementA);
            var datasetElementB = DatasetElement.Load(elementB);

            DbSafeManagerHelper.CompareDatasets(datasetElementA, datasetElementB, new string[] { "key" }, false);
        }
Ejemplo n.º 4
0
        public void CompareDatasets_Given_datasets_with_same_data_Method_succeed()
        {
            var element = XElement.Parse(@"
<dataset name=""B"" table=""tableA"">
    <data>
        <row id=""10"" name=""AA""/>
        <row id=""11"" name=""BB""/>
    </data>
</dataset>
");

            var datasetElementA = DatasetElement.Load(element);
            var datasetElementB = DatasetElement.Load(element);

            DbSafeManagerHelper.CompareDatasets(datasetElementA, datasetElementB, new string[] { "id" }, false);
        }
Ejemplo n.º 5
0
        public void CompareDatasets_Given_not_null_expected_data_and_null_actual_data_Method_fails()
        {
            var elementA = XElement.Parse(@"<dataset name=""A"" table=""tableA""><data/></dataset>");
            var elementB = XElement.Parse(@"<dataset name=""B"" table=""tableA""></dataset>");

            var datasetElementA = DatasetElement.Load(elementA);
            var datasetElementB = DatasetElement.Load(elementB);

            try
            {
                DbSafeManagerHelper.CompareDatasets(datasetElementA, datasetElementB, new string[] { "key" }, false);
            }
            catch (AssertFailedException ex)
            {
                StringAssert.Contains(ex.Message, "Expected Data is not null but actual Data is null");
                return;
            }

            Assert.Fail("An exception was not thrown");
        }
Ejemplo n.º 6
0
        public void CompareDatasets_Given_dataset_with_different_table_names_Method_fails()
        {
            var elementA = XElement.Parse(@"<dataset name=""A"" table=""tableA""></dataset>");
            var elementB = XElement.Parse(@"<dataset name=""B"" table=""tableB""></dataset>");

            var datasetElementA = DatasetElement.Load(elementA);
            var datasetElementB = DatasetElement.Load(elementB);

            var compareTableName = true;

            try
            {
                DbSafeManagerHelper.CompareDatasets(datasetElementA, datasetElementB, new string[] { "key" }, false, compareTableName);
            }
            catch (AssertFailedException ex)
            {
                StringAssert.Contains(ex.Message, "Table names are different");
                return;
            }

            Assert.Fail("An exception was not thrown");
        }
Ejemplo n.º 7
0
        public void Write_read_and_compare_records()
        {
            var target = new SqlDatabaseClient(false)
            {
                ConnectionString = _connectionString
            };

            var deleteDataCommand = @"
DELETE [dbo].[Product];
DELETE [dbo].[Category];
DELETE [dbo].[Supplier];
";

            target.ExecuteCommand(deleteDataCommand);

            var datasetXml = @"
<dataset name=""suppliers"" setIdentityInsert=""true"" table=""Supplier"">
  <data>
    <row Id=""1"" Name=""supplier-1"" ContactName=""contact-name-1"" ContactPhone=""100-200-0001"" ContactEmail=""*****@*****.**"" />
    <row Id=""2"" Name=""supplier-2"" ContactName=""contact-name-2"" ContactPhone=""100-200-0002"" ContactEmail=""*****@*****.**"" />
    <row Id=""3"" Name=""supplier-3"" ContactName=""contact-name-3"" ContactPhone=""100-200-0003"" ContactEmail=""*****@*****.**"" />
  </data>
</dataset>
";
            var xml        = XElement.Parse(datasetXml);
            var dataset    = DatasetElement.Load(xml);

            target.WriteTable(dataset);

            var formatterManager = new FormatterManager();

            var selectRecordsQuery = "SELECT * FROM [dbo].[Supplier];";

            var actual = target.ReadTable(selectRecordsQuery, formatterManager);

            DbSafeManagerHelper.CompareDatasets(dataset, actual, new string[] { "Id" }, false, false);
        }
Ejemplo n.º 8
0
        public void Write_read_and_compare_records()
        {
            var datasetXml = @"
<dataset name=""suppliers"" setIdentityInsert=""true"" table=""Supplier"">
  <data>
    <row id=""1"" name=""supplier-1"" contact_name=""contact-name-1"" contact_phone=""100-200-0001"" contact_email=""*****@*****.**"" />
    <row id=""2"" name=""supplier-2"" contact_name=""contact-name-2"" contact_phone=""100-200-0002"" contact_email=""*****@*****.**"" />
    <row id=""3"" name=""supplier-3"" contact_name=""contact-name-3"" contact_phone=""100-200-0003"" contact_email=""*****@*****.**"" />
  </data>
</dataset>
";
            var xml        = XElement.Parse(datasetXml);
            var dataset    = DatasetElement.Load(xml);

            _target.WriteTable(dataset);

            var formatterManager = new FormatterManager();

            var selectRecordsQuery = "SELECT * FROM public.supplier;";

            var actual = _target.ReadTable(selectRecordsQuery, formatterManager);

            DbSafeManagerHelper.CompareDatasets(dataset, actual, new string[] { "id" }, false, false);
        }