Пример #1
0
        public void Disposed_EagerInternalConnection_created_with_existing_connection_can_be_reused()
        {
            var disposed = false;

            using (var connection = new SqlConnection())
            {
                connection.Disposed += (_, __) => disposed = true;

                var internalConnection = new EagerInternalConnection(connection, connectionOwned: false);
                try
                {
                    Assert.Same(connection, internalConnection.Connection);
                    internalConnection.Dispose();
                    Assert.False(disposed);

                    Assert.Same(connection, internalConnection.Connection);
                    internalConnection.Dispose();
                    Assert.False(disposed);
                }
                finally
                {
                    internalConnection.Dispose();
                }
            }
            Assert.True(disposed);
        }
Пример #2
0
 public void Existing_connection_provided_is_returned()
 {
     using (var connection = new SqlConnection())
     {
         using (var internalConnection = new EagerInternalConnection(connection, connectionOwned: false))
         {
             Assert.Same(connection, internalConnection.Connection);
         }
     }
 }
Пример #3
0
 public void Exception_replacing_DbConnection_with_EntityConnection()
 {
     using (var context = new ReplaceConnectionContext())
     {
         using (var newConnection = new EagerInternalConnection(context, new EntityConnection(), connectionOwned: true))
         {
             Assert.Equal(
                 Strings.LazyInternalContext_CannotReplaceDbConnectionWithEfConnection,
                 Assert.Throws <InvalidOperationException>(() => context.InternalContext.OverrideConnection(newConnection)).Message);
         }
     }
 }
Пример #4
0
        public void Existing_connection_is_disposed_after_use_if_it_is_owned_by_the_connection_object()
        {
            var disposed   = false;
            var connection = new SqlConnection();

            connection.Disposed += (_, __) => disposed = true;

            using (var internalConnection = new EagerInternalConnection(connection, connectionOwned: true))
            {
                var _ = internalConnection.Connection;
            }

            Assert.True(disposed);
        }
Пример #5
0
        public void Existing_connection_is_not_disposed_after_use()
        {
            var disposed = false;

            using (var connection = new SqlConnection())
            {
                connection.Disposed += (_, __) => disposed = true;

                using (var internalConnection = new EagerInternalConnection(connection, connectionOwned: false))
                {
                    var _ = internalConnection.Connection;
                }

                Assert.False(disposed);
            }
            Assert.True(disposed);
        }