Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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));
        }