예제 #1
0
        public void InstanceMustReturnServiceProviderWhenCalled()
        {
            ServiceProvider    provider = new ServiceCollection().BuildServiceProvider();
            DatabaseFacadeStub database = new DatabaseFacadeStub(new FakeDbContext(), provider);

            Assert.Same(provider, ((IInfrastructure <IServiceProvider>)database).Instance);
        }
예제 #2
0
        public void DatabaseInternalServiceProviderMustReturnNullMigratorWhenCalled()
        {
            DatabaseFacadeStub database = Assert.IsAssignableFrom <DatabaseFacadeStub>(new FakeDbContext().Database);
            IServiceProvider   provider = ReflectionHelper.GetProperty <IServiceProvider>(database, "Provider");

            Assert.IsAssignableFrom <NullMigrator>(provider.GetRequiredService <IMigrator>());
        }
예제 #3
0
        public void DatabaseProviderMustDisposeWhenDisposeCalled()
        {
            DatabaseFacadeStub        database = (DatabaseFacadeStub) new FakeDbContext().Database;
            DelegatingServiceProvider provider = ReflectionHelper.GetProperty <DelegatingServiceProvider>(database, "Provider");

            provider.Dispose();
            Assert.True(ReflectionHelper.GetProperty <bool>(provider, "IsDisposed"));
        }
예제 #4
0
        public void RollbackTransactionMustRollbackTransactionWhenCalled()
        {
            DatabaseFacadeStub database    = new DatabaseFacadeStub(new FakeDbContext(), null);
            FakeTransaction    transaction = (FakeTransaction)database.BeginTransaction();

            Assert.Equal(TransactionStatus.Active, transaction.Status);
            database.RollbackTransaction();
            Assert.Equal(TransactionStatus.Aborted, transaction.Status);
        }
예제 #5
0
        public void BeginTransactionMustReturnFakeTransactionWhenCalled()
        {
            DatabaseFacadeStub database = new DatabaseFacadeStub(new FakeDbContext(), null);

            Assert.IsAssignableFrom <FakeTransaction>(database.BeginTransaction());
        }