### Question:
BaseFacade implements DBFacade { @Override public synchronized DBLeasedSession leaseSession() { final IntegralIntermediateSession interSession = instantiateIntermediateSession(); final BaseSession baseSession = new BaseSession(interSession); return new DBLeasedSessionWrapper(baseSession); } BaseFacade(@NotNull final IntegralIntermediateFacade interFacade); @NotNull @Override Rdbms rdbms(); @Override synchronized void connect(); @Override synchronized void reconnect(); @Override synchronized void disconnect(); @Override boolean isConnected(); @Override ConnectionInfo getConnectionInfo(); @Override R inTransaction(final InTransaction<R> operation); @Override void inTransaction(final InTransactionNoResult operation); @Override R inSession(final InSession<R> operation); @Override void inSession(final InSessionNoResult operation); @Override synchronized DBLeasedSession leaseSession(); @Nullable @Override I getSpecificService(@NotNull final Class<I> serviceClass,
                                  @NotNull final String serviceName);  }### Answer:
@Test public void leaseSession_basic() { final DBLeasedSession session = myFacade.leaseSession(); assertThat(session.isClosed()).isFalse(); session.ping(); session.close(); assertThat(session.isClosed()).isTrue(); }