### Question:
ServerTransactionListener extends UnicastExportable implements Transaction, RemoteTransactionListener { public int getStatus() throws SystemException { try { return executeOnClient(new GetStatus()); } catch (ExecutionException e) { Throwable cause = e.getCause(); if (cause instanceof SystemException) throw (SystemException) cause; if (cause instanceof RuntimeException) throw (RuntimeException) cause; throw new RuntimeException("Error reported by server", cause); } } ServerTransactionListener(final BlobStore store, final Map<String, String> hints,
                                   Exporter exporter); Operation<?> getNextOperation(); void postResult(Result<?> result); void commit(); boolean delistResource(XAResource xaRes, int flags); boolean enlistResource(XAResource xaRes); int getStatus(); void registerSynchronization(Synchronization sync); void rollback(); void setRollbackOnly(); XAResource getXAResource(RemoteXAResource res);  }### Answer:
@Test public void testGetStatus() throws Exception { Future<Integer> future = executor.submit(new Callable<Integer>() { public Integer call() throws Exception { return st.getStatus(); } }); Operation<?> op = st.getNextOperation(); assertTrue(op instanceof GetStatus); st.postResult(new Result<Integer>(42)); assertEquals(new Integer(42), future.get()); }