コード例 #1
0
        public void Send_EmptyList_Success()
        {
            var fakeDbOperation     = A.Fake <IDbOperation>();
            var executeNonQueryCall = A.CallTo(() => fakeDbOperation.ExecuteNonQueryAsync());

            var fakeDbOperationFactory = A.Fake <IDbOperationFactory>();

            A.CallTo(() => fakeDbOperationFactory.CreateDbOperation("connStr", "table", new TraceSource("ts"), A.Fake <IDbProviderFactory>()))
            .WithAnyArguments()
            .Returns(fakeDbOperation);

            IOracleSender sender = new OracleSender("connStr", new TraceSource("ts"), A.Fake <IDbProviderFactory>(), fakeDbOperationFactory);

            sender.Send(new List <Message>()).Wait();

            executeNonQueryCall.MustNotHaveHappened();
        }
コード例 #2
0
        public void Send_OneMessage_Success()
        {
            var fakeDbOperation     = A.Fake <IDbOperation>();
            var executeNonQueryCall = A.CallTo(() => fakeDbOperation.ExecuteNonQueryAsync());

            var fakeDbOperationFactory = A.Fake <IDbOperationFactory>();

            A.CallTo(() => fakeDbOperationFactory.CreateDbOperation("connStr", "table", new TraceSource("ts"), A.Fake <IDbProviderFactory>(), A.Fake <IDataParameter>()))
            .WithAnyArguments()
            .Returns(fakeDbOperation);

            var messages = new List <Message>();

            messages.Add(new Message("src", "key", "val"));

            IOracleSender sender = new OracleSender("connStr", new TraceSource("ts"), A.Fake <IDbProviderFactory>(), fakeDbOperationFactory);

            sender.Send(messages);

            executeNonQueryCall.MustHaveHappened(Repeated.Exactly.Once);
        }