public void TestDbConnectionTraceForAfterQueryMultiple() { // Prepare var trace = new Mock <ITrace>(); var connection = new CustomDbConnection(); // Setup trace.Setup(t => t.AfterQueryMultiple(It.IsAny <CancellableTraceLog>())); // Act connection.QueryMultiple <TraceEntity, TraceEntity>(te => te.Id == 1, te => te.Id == 1, trace: trace.Object, statementBuilder: new SqlStatementBuilder()); // Assert trace.Verify(t => t.AfterQueryMultiple(It.IsAny <TraceLog>()), Times.Once); }
public void TestDbConnectionStatementBuilderForQueryMultiple() { // Prepare var statementBuilder = new Mock <IStatementBuilder>(); var connection = new CustomDbConnection(); // Setup statementBuilder.Setup(builder => builder.CreateQuery <DataEntityT1>( It.IsAny <QueryBuilder <DataEntityT1> >(), It.IsAny <QueryGroup>(), It.IsAny <IEnumerable <OrderField> >(), It.IsAny <int>(), It.IsAny <string>())); statementBuilder.Setup(builder => builder.CreateQuery <DataEntityT2>( It.IsAny <QueryBuilder <DataEntityT2> >(), It.IsAny <QueryGroup>(), It.IsAny <IEnumerable <OrderField> >(), It.IsAny <int>(), It.IsAny <string>())); statementBuilder.Setup(builder => builder.CreateQuery <DataEntityT3>( It.IsAny <QueryBuilder <DataEntityT3> >(), It.IsAny <QueryGroup>(), It.IsAny <IEnumerable <OrderField> >(), It.IsAny <int>(), It.IsAny <string>())); statementBuilder.Setup(builder => builder.CreateQuery <DataEntityT4>( It.IsAny <QueryBuilder <DataEntityT4> >(), It.IsAny <QueryGroup>(), It.IsAny <IEnumerable <OrderField> >(), It.IsAny <int>(), It.IsAny <string>())); statementBuilder.Setup(builder => builder.CreateQuery <DataEntityT5>( It.IsAny <QueryBuilder <DataEntityT5> >(), It.IsAny <QueryGroup>(), It.IsAny <IEnumerable <OrderField> >(), It.IsAny <int>(), It.IsAny <string>())); statementBuilder.Setup(builder => builder.CreateQuery <DataEntityT6>( It.IsAny <QueryBuilder <DataEntityT6> >(), It.IsAny <QueryGroup>(), It.IsAny <IEnumerable <OrderField> >(), It.IsAny <int>(), It.IsAny <string>())); statementBuilder.Setup(builder => builder.CreateQuery <DataEntityT7>( It.IsAny <QueryBuilder <DataEntityT7> >(), It.IsAny <QueryGroup>(), It.IsAny <IEnumerable <OrderField> >(), It.IsAny <int>(), It.IsAny <string>())); // Act connection.QueryMultiple <DataEntityT1, DataEntityT2, DataEntityT3, DataEntityT4, DataEntityT5, DataEntityT6, DataEntityT7>(e => e.Id == 1, e => e.Id == 1, e => e.Id == 1, e => e.Id == 1, e => e.Id == 1, e => e.Id == 1, e => e.Id == 1, statementBuilder: statementBuilder.Object); // Assert statementBuilder.Verify(builder => builder.CreateQuery <DataEntityT1>( It.IsAny <QueryBuilder <DataEntityT1> >(), It.IsAny <QueryGroup>(), It.IsAny <IEnumerable <OrderField> >(), It.IsAny <int>(), It.IsAny <string>()), Times.Exactly(1)); statementBuilder.Verify(builder => builder.CreateQuery <DataEntityT2>( It.IsAny <QueryBuilder <DataEntityT2> >(), It.IsAny <QueryGroup>(), It.IsAny <IEnumerable <OrderField> >(), It.IsAny <int>(), It.IsAny <string>()), Times.Exactly(1)); statementBuilder.Verify(builder => builder.CreateQuery <DataEntityT3>( It.IsAny <QueryBuilder <DataEntityT3> >(), It.IsAny <QueryGroup>(), It.IsAny <IEnumerable <OrderField> >(), It.IsAny <int>(), It.IsAny <string>()), Times.Exactly(1)); statementBuilder.Verify(builder => builder.CreateQuery <DataEntityT4>( It.IsAny <QueryBuilder <DataEntityT4> >(), It.IsAny <QueryGroup>(), It.IsAny <IEnumerable <OrderField> >(), It.IsAny <int>(), It.IsAny <string>()), Times.Exactly(1)); statementBuilder.Verify(builder => builder.CreateQuery <DataEntityT5>( It.IsAny <QueryBuilder <DataEntityT5> >(), It.IsAny <QueryGroup>(), It.IsAny <IEnumerable <OrderField> >(), It.IsAny <int>(), It.IsAny <string>()), Times.Exactly(1)); statementBuilder.Verify(builder => builder.CreateQuery <DataEntityT6>( It.IsAny <QueryBuilder <DataEntityT6> >(), It.IsAny <QueryGroup>(), It.IsAny <IEnumerable <OrderField> >(), It.IsAny <int>(), It.IsAny <string>()), Times.Exactly(1)); statementBuilder.Verify(builder => builder.CreateQuery <DataEntityT7>( It.IsAny <QueryBuilder <DataEntityT7> >(), It.IsAny <QueryGroup>(), It.IsAny <IEnumerable <OrderField> >(), It.IsAny <int>(), It.IsAny <string>()), Times.Exactly(1)); }