INT-1847: modify SimpleMessageStore to behave correctly with a finite capacity

This commit is contained in:
Dave Syer
2011-03-24 08:13:58 +00:00
parent 6e58a9ff99
commit b81f8b12ee
3 changed files with 31 additions and 6 deletions

View File

@@ -73,7 +73,7 @@ public class SimpleMessageStoreTests {
store.addMessage(testMessage1);
store.addMessage(testMessage2);
}
@Test
public void shouldListByCorrelation() throws Exception {
SimpleMessageStore store = new SimpleMessageStore();
@@ -93,6 +93,18 @@ public class SimpleMessageStoreTests {
assertEquals(0, store.getMessageGroup("bar").size());
}
@Test
public void testRepeatedAddAndRemoveGroup() throws Exception {
SimpleMessageStore store = new SimpleMessageStore(10, 10);
for (int i = 0; i < 10; i++) {
store.addMessageToGroup("bar", MessageBuilder.withPayload("foo").build());
store.addMessageToGroup("bar", MessageBuilder.withPayload("foo").build());
store.removeMessageGroup("bar");
assertEquals(0, store.getMessageGroup("bar").size());
assertEquals(0, store.getMessageGroupCount());
}
}
@Test
public void shouldCopyMessageGroup() throws Exception {
SimpleMessageStore store = new SimpleMessageStore();
@@ -104,11 +116,11 @@ public class SimpleMessageStoreTests {
@Test
public void shouldRegisterCallbacks() throws Exception {
SimpleMessageStore store = new SimpleMessageStore();
store.setExpiryCallbacks(Arrays.<MessageGroupCallback>asList(new MessageGroupCallback() {
store.setExpiryCallbacks(Arrays.<MessageGroupCallback> asList(new MessageGroupCallback() {
public void execute(MessageGroupStore messageGroupStore, MessageGroup group) {
}
}));
assertEquals(1, ((Collection<?>)ReflectionTestUtils.getField(store, "expiryCallbacks")).size());
assertEquals(1, ((Collection<?>) ReflectionTestUtils.getField(store, "expiryCallbacks")).size());
}
@Test