public void testCQCacheLeavesAndJoins() { CallCountingCQResultListener<Object, Object> listener = createContinuousQuery(); final Map<Object, Integer> joined = listener.getJoined(); final Map<Object, Integer> left = listener.getLeft(); assertEquals(0, joined.size()); assertEquals(0, left.size()); for (int i = 0; i < 2; i++) { Person value = new Person(); value.setName("John"); value.setAge(40); cache(i).put(i, value); } assertEquals(0, joined.size()); assertEquals(0, left.size()); for (int i = 0; i < 10; i++) { Person value = new Person(); value.setName("John"); value.setAge(i + 25); cache(0).put(i, value); if (i == 4) killMember(1); } assertEquals(6, joined.size()); assertEquals(0, left.size()); for (int i = 0; i < 6; i++) { assertEquals(1, joined.get(i).intValue()); } joined.clear(); cache(0).clear(); assertEquals(0, joined.size()); assertEquals(6, left.size()); left.clear(); for (int i = 0; i < 10; i++) { Person value = new Person(); value.setName("John"); value.setAge(i + 25); cache(0).put(i, value); if (i == 4) addClusterEnabledCacheManager(buildConfiguration()); } assertEquals(6, joined.size()); assertEquals(0, left.size()); for (int i = 0; i < 6; i++) { assertEquals(1, joined.get(i).intValue()); } joined.clear(); }
public void testContinuousQueryMultipleCaches() { CallCountingCQResultListener<Object, Object> listener = createContinuousQuery(); final Map<Object, Integer> joined = listener.getJoined(); final Map<Object, Integer> left = listener.getLeft(); assertEquals(0, joined.size()); assertEquals(0, left.size()); for (int i = 0; i < 2; i++) { Person value = new Person(); value.setName("John"); value.setAge(40); cache(i).put(i, value); } assertEquals(0, joined.size()); assertEquals(0, left.size()); for (int i = 0; i < 10; i++) { Person value = new Person(); value.setName("John"); value.setAge(i + 25); cache(0).put(i, value); } assertEquals(6, joined.size()); assertEquals(0, left.size()); for (int i = 0; i < 6; i++) { assertEquals(1, joined.get(i).intValue()); } joined.clear(); cache(0).clear(); assertEquals(0, joined.size()); assertEquals(6, left.size()); for (int i = 0; i < 6; i++) { assertEquals(1, left.get(i).intValue()); } left.clear(); }