Mock the Map/Region.keySet() operation.
This commit is contained in:
@@ -2683,6 +2683,9 @@ public abstract class GemFireMockObjectsSupport extends MockObjectsSupport {
|
||||
// Map.isEmpty() / Region.isEmpty()
|
||||
doAnswer(invocation -> data.isEmpty()).when(mockRegion).isEmpty();
|
||||
|
||||
// Map.keySet() / Region.keySet()
|
||||
doAnswer(invocation -> Collections.unmodifiableSet(data.keySet())).when(mockRegion).keySet();
|
||||
|
||||
// Region.put(key, value)
|
||||
when(mockRegion.put(any(), any())).thenAnswer(invocation -> {
|
||||
|
||||
|
||||
@@ -49,6 +49,7 @@ import org.mockito.Mock;
|
||||
import org.mockito.junit.MockitoJUnitRunner;
|
||||
import org.mockito.stubbing.Answer;
|
||||
|
||||
import org.apache.geode.UnmodifiableException;
|
||||
import org.apache.geode.cache.CacheListener;
|
||||
import org.apache.geode.cache.CacheLoader;
|
||||
import org.apache.geode.cache.CacheWriter;
|
||||
@@ -638,4 +639,43 @@ public class MockRegionDataAccessOperationsAndEventsUnitTests {
|
||||
assertThat(this.mockRegion).hasSize(0);
|
||||
assertThat(this.mockRegion).isEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("rawtypes")
|
||||
public void mapRegionKeySetIsCorrect() {
|
||||
|
||||
Set keys = this.mockRegion.keySet();
|
||||
|
||||
assertThat(keys).isNotNull();
|
||||
assertThat(keys).isEmpty();
|
||||
|
||||
this.mockRegion.put(1, "TEST");
|
||||
|
||||
keys = this.mockRegion.keySet();
|
||||
|
||||
assertThat(keys).isNotNull();
|
||||
assertThat(keys).hasSize(1);
|
||||
assertThat(keys).containsExactlyInAnyOrder(1);
|
||||
|
||||
this.mockRegion.put(2, "MOCK");
|
||||
|
||||
keys = this.mockRegion.keySet();
|
||||
|
||||
assertThat(keys).isNotNull();
|
||||
assertThat(keys).hasSize(2);
|
||||
assertThat(keys).containsExactlyInAnyOrder(1, 2);
|
||||
|
||||
this.mockRegion.remove(1);
|
||||
|
||||
keys = this.mockRegion.keySet();
|
||||
|
||||
assertThat(keys).isNotNull();
|
||||
assertThat(keys).hasSize(1);
|
||||
assertThat(keys).containsExactlyInAnyOrder(2);
|
||||
}
|
||||
|
||||
@Test(expected = UnsupportedOperationException.class)
|
||||
public void mapRegionKeySetIsUnmodifiable() {
|
||||
this.mockRegion.keySet().add(1);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user