Skip to content

Commit

Permalink
increased partition iterator test coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
eminn committed Jul 29, 2016
1 parent d6b2a50 commit 71a8c20
Show file tree
Hide file tree
Showing 3 changed files with 85 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,14 @@
import com.hazelcast.config.EvictionConfig;
import com.hazelcast.core.HazelcastInstance;
import com.hazelcast.test.HazelcastTestSupport;
import org.junit.After;
import org.junit.Test;
import org.junit.runners.Parameterized;

import java.util.Arrays;
import java.util.Iterator;
import javax.cache.Cache;
import javax.cache.CacheManager;
import javax.cache.spi.CachingProvider;
import java.util.Arrays;
import java.util.Iterator;
import org.junit.After;
import org.junit.Test;
import org.junit.runners.Parameterized;

import static junit.framework.Assert.assertFalse;
import static junit.framework.Assert.assertTrue;
Expand Down Expand Up @@ -71,6 +70,21 @@ public void test_Next_Returns_Value_On_NonEmptyPartition() throws Exception {
assertEquals(value, entry.getValue());
}

@Test
public void test_Next_Returns_Value_On_NonEmptyPartition_and_HasNext_Returns_False_when_Item_Consumed() throws Exception {
ClientCacheProxy<String, String> cache = getCacheProxy();

String key = generateKeyForPartition(server, 1);
String value = randomString();
cache.put(key, value);

Iterator<Cache.Entry<String, String>> iterator = cache.iterator(10, 1, prefetchValues);
Cache.Entry entry = iterator.next();
assertEquals(value, entry.getValue());
boolean hasNext = iterator.hasNext();
assertFalse(hasNext);
}

@Test
public void test_Next_Returns_Values_When_FetchSizeExceeds_On_NonEmptyPartition() throws Exception {
ClientCacheProxy<String, String> cache = getCacheProxy();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,21 @@ public void test_Next_Returns_Value_On_NonEmptyPartition() throws Exception {
assertEquals(value, entry.getValue());
}

@Test
public void test_Next_Returns_Value_On_NonEmptyPartition_and_HasNext_Returns_False_when_Item_Consumed() throws Exception {
CacheProxy<String, String> cache = getCacheProxy();

String key = generateKeyForPartition(server, 1);
String value = randomString();
cache.put(key, value);

Iterator<Cache.Entry<String, String>> iterator = cache.iterator(10, 1, prefetchValues);
Cache.Entry entry = iterator.next();
assertEquals(value, entry.getValue());
boolean hasNext = iterator.hasNext();
assertFalse(hasNext);
}

@Test
public void test_Next_Returns_Values_When_FetchSizeExceeds_On_NonEmptyPartition() throws Exception {
CacheProxy<String, String> cache = getCacheProxy();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.NoSuchElementException;
import org.junit.Assert;
import org.junit.Ignore;
import org.junit.Test;
Expand All @@ -38,6 +39,39 @@ public static Iterable<Object[]> parameters() {
return Arrays.asList(new Object[]{Boolean.TRUE}, new Object[]{Boolean.FALSE});
}

@Test(expected = NoSuchElementException.class)
public void test_next_Throws_Exception_On_EmptyPartition() throws Exception {
HazelcastInstance instance = createHazelcastInstance();
MapProxyImpl<Object, Object> proxy = (MapProxyImpl<Object, Object>) instance.getMap(randomMapName());

Iterator<Map.Entry<Object, Object>> iterator = proxy.iterator(10, 1, prefetchValues);
iterator.next();
}

@Test(expected = IllegalStateException.class)
public void test_remove_Throws_Exception_When_Called_Without_Next() throws Exception {
HazelcastInstance instance = createHazelcastInstance();
MapProxyImpl<Object, Object> proxy = (MapProxyImpl<Object, Object>) instance.getMap(randomMapName());

Iterator<Map.Entry<Object, Object>> iterator = proxy.iterator(10, 1, prefetchValues);
iterator.remove();
}

@Test
public void test_Remove() throws Exception {
HazelcastInstance instance = createHazelcastInstance();
MapProxyImpl<Object, Object> proxy = (MapProxyImpl<Object, Object>) instance.getMap(randomMapName());

String key = generateKeyForPartition(instance, 1);
String value = randomString();
proxy.put(key, value);

Iterator<Map.Entry<Object, Object>> iterator = proxy.iterator(10, 1, prefetchValues);
iterator.next();
iterator.remove();
assertEquals(0,proxy.size());
}

@Test
public void test_HasNext_Returns_False_On_EmptyPartition() throws Exception {
HazelcastInstance instance = createHazelcastInstance();
Expand Down Expand Up @@ -74,6 +108,22 @@ public void test_Next_Returns_Value_On_NonEmptyPartition() throws Exception {
assertEquals(value, entry.getValue());
}

@Test
public void test_Next_Returns_Value_On_NonEmptyPartition_and_HasNext_Returns_False_when_Item_Consumed() throws Exception {
HazelcastInstance instance = createHazelcastInstance();
MapProxyImpl<Object, Object> proxy = (MapProxyImpl<Object, Object>) instance.getMap(randomMapName());

String key = generateKeyForPartition(instance, 1);
String value = randomString();
proxy.put(key, value);

Iterator<Map.Entry<Object, Object>> iterator = proxy.iterator(10, 1, prefetchValues);
Map.Entry entry = iterator.next();
assertEquals(value, entry.getValue());
boolean hasNext = iterator.hasNext();
assertFalse(hasNext);
}

@Test
public void test_Next_Returns_Values_When_FetchSizeExceeds_On_NonEmptyPartition() throws Exception {
HazelcastInstance instance = createHazelcastInstance();
Expand Down

0 comments on commit 71a8c20

Please sign in to comment.