@Test
public void runtime_exception_will_abort_transaction() throws Exception
{
Performer delegate = newMock(Performer.class);
HibernateSessionManager manager = newMock(HibernateSessionManager.class);
HibernateTransactionDecorator decorator = newHibernateSessionManagerDecorator(manager);
RuntimeException re = new RuntimeException("Unexpected.");
delegate.perform();
TestBase.setThrowable(re);
manager.abort();
replay();
Performer interceptor = decorator.build(Performer.class, delegate, "foo.Bar");
try
{
interceptor.perform();
TestBase.unreachable();