public void testExchangeInitiatedEvent() {
EventCounter counter = new EventCounter();
_domain.addEventObserver(counter, ExchangeInitiatedEvent.class);
// send in-only and check the count
ServiceReference inOnlyService = _domain.createInOnlyService(new QName("ExchangeInitiatedEvent-1"));
Exchange inOnly = inOnlyService.createExchange();
inOnly.send(inOnly.createMessage());
Assert.assertEquals(1, counter.initiatedCount);
// reset count
counter.initiatedCount = 0;
// send in-out and check the count
ServiceReference inOutService = _domain.createInOutService(
new QName("ExchangeInitiatedEvent-2"), new MockHandler().forwardInToOut());
Exchange inOut = inOutService.createExchange(new MockHandler());
inOut.send(inOut.createMessage());
Assert.assertEquals(1, counter.initiatedCount);
}