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"); }
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"); }
public void Connection_is_not_reused() { // This test uses a global temp table (GTT) since a GTT is deleted when the connection that created it goes out of scope. var target = new SqlDatabaseClient(false) { ConnectionString = _connectionString }; target.ExecuteCommand(_createGlobalTempTableCommand); var formatterManager = new FormatterManager(); var actual = target.ReadTable(_verifyIfTempTableExistsQuery, formatterManager); var expectedDatasetXml = @" <dataset name=""a-name"" table=""a-name""> <data> <row TempTableExists=""0"" /> </data> </dataset> "; var xml = XElement.Parse(expectedDatasetXml); var expectedDataset = DatasetElement.Load(xml); Assert.AreEqual(expectedDataset.Data.ToString(), actual.Data.ToString()); }
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); }
private DatasetElement FindDataset(string datasetName, XElement xml) { var dataset = DbSafeManagerHelper.FindChild(xml, FileDefinitionHelper.ElementNameDatasets, datasetName); if (dataset != null) { return(DatasetElement.Load(dataset)); } return(null); }
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); }
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"); }
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"); }
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); }
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); }
private DatasetElement ExecuteLoad(string xmlText) { XElement xml = XElement.Parse(xmlText); return(DatasetElement.Load(xml)); }