private void testGetPutOperationsOnVM(final VM vm) {
    vm.invoke(new SerializableRunnable() {
      @Override
      public void run() {
        Region<String, String> region = getCache().getRegion(REGION_NAME);
        String oldValue = region.put(KEY_1, VALUE_1);
        assertNull(oldValue);

        oldValue = region.get(KEY_1);
        assertEquals(VALUE_1, oldValue);

        oldValue = region.put(KEY_1, VALUE_2);
        if (null != oldValue) {
          assertEquals(VALUE_1, oldValue);
        }

        oldValue = region.get(KEY_1);
        assertEquals(VALUE_2, oldValue);

        oldValue = region.putIfAbsent(KEY_1, VALUE_3);
        assertEquals(VALUE_2, oldValue);

        region.putAll(putAllMap);

        oldValue = region.get(KEY_1);
        assertEquals(VALUE_1, oldValue);

        oldValue = region.get(KEY_2);
        assertEquals(VALUE_2, oldValue);

        oldValue = region.get(KEY_3);
        assertEquals(VALUE_3, oldValue);

        Map<String, String> getAllMap = region.getAll(getAllCollection);
        assertTrue(getAllMap.containsValue(VALUE_1));
        assertTrue(getAllMap.containsValue(VALUE_2));
        assertTrue(getAllMap.containsValue(VALUE_3));
      }
    });
  }
Tests the following operations on a region with compression enabled:

<ul>
<li>{@link Region#put(Object, Object)}</li>
<li>{@link Region#putAll(Map)}</li>
<li>{@link Region#putIfAbsent(Object, Object)}</li>
<li>{@link Region#get(Object)}</li>
<li>{@link Region#getAll(Collection)}</li>
</ul>

@param vm a test virtual machine.
geode-core/src/distributedTest/java/org/apache/geode/internal/compression/CompressionRegionOperationsDUnitTest.java