public void UsingFluentVoidPredicate() { //Arrange TwoColumnsTableFixture source2Columns = new TwoColumnsTableFixture("SourceMultipleLinks"); source2Columns.InsertTestData(); source2Columns.InsertTestDataSet2(); TwoColumnsTableFixture dest2Columns = new TwoColumnsTableFixture("DestinationMultipleLinks"); DbSource <MySimpleRow> source = new DbSource <MySimpleRow>("SourceMultipleLinks", SqlConnection); DbDestination <MySimpleRow> dest = new DbDestination <MySimpleRow>("DestinationMultipleLinks", SqlConnection); RowTransformation <MySimpleRow> trans1 = new RowTransformation <MySimpleRow>(row => row); //Act var link1 = source.LinkTo(trans1, row => row.Col1 < 4, row => row.Col1 >= 4); var link2 = link1.source.LinkTo(dest); using (link1.link) using (link2.link) { Task sourceT = source.ExecuteAsync(); Task destT = dest.Completion; //Assert sourceT.Wait(); destT.Wait(); dest2Columns.AssertTestData(); } }
public void ErrorInSql() { //Arrange DbSource source = new DbSource(SqlConnection) { Sql = "SELECT XYZ FROM ABC" }; MemoryDestination dest = new MemoryDestination(); source.LinkTo(dest); //Act & Assert Assert.Throws <SqlException>(() => { try { Task s = source.ExecuteAsync(); Task c = dest.Completion; Task.WaitAll(c, s); } catch (AggregateException e) { throw e.InnerException; } }); }
public void Linking3Transformations() { //Arrange TwoColumnsTableFixture source2Columns = new TwoColumnsTableFixture("SourceMultipleLinks"); source2Columns.InsertTestData(); TwoColumnsTableFixture dest2Columns = new TwoColumnsTableFixture("DestinationMultipleLinks"); DbSource <string[]> source = new DbSource <string[]>("SourceMultipleLinks", SqlConnection); DbDestination <string[]> dest = new DbDestination <string[]>("DestinationMultipleLinks", SqlConnection); RowTransformation <string[]> trans1 = new RowTransformation <string[]>(row => row); RowTransformation <string[]> trans2 = new RowTransformation <string[]>(row => row); RowTransformation <string[]> trans3 = new RowTransformation <string[]>(row => row); //Act var linkTo1 = source.LinkTo(trans1); var linkTo2 = linkTo1.source.LinkTo(trans2); var linkTo3 = linkTo2.source.LinkTo(trans3); var linkTo4 = linkTo3.source.LinkTo(dest); using (linkTo1.link) using (linkTo2.link) using (linkTo3.link) using (linkTo4.link) { Task sourceT = source.ExecuteAsync(); Task destT = dest.Completion; //Assert sourceT.Wait(); destT.Wait(); dest2Columns.AssertTestData(); } }