
    Mock repositoryMock = mock(LimitRepository.class);
    LimitRepository repository = (LimitRepository)repositoryMock.proxy();

    repositoryMock.expects(once()).method("getLimit").with(eq("ACME")).will(returnValue(new BigDecimal(5000000)));
    repositoryMock.expects(once()).method("getExposure").with(eq("ACME")).will(returnValue(new BigDecimal(1000000)));
    repositoryMock.expects(once()).method("updateExposure").with(eq(new BigDecimal("4000000")), eq("ACME"));

    TradeMonitor monitor = new TradeMonitor();

    boolean result = monitor.tryTrade("ACME", new BigDecimal("3000000"));

    assertTrue(result);
    repositoryMock.verify();

    --------------

    Configurator configurator = new SpringConfigurator();
    TradeMonitor monitor = configurator.getTradeMonitor();

    --------------

    <constructor-arg><ref bean="limitRepository"/></constructor-arg>

    --------------

    <bean id="tradeMonitor" class="com.mybank.TradeMonitor" autowire="constructor"/>
