@Override
      public void run() {
        Region<String, byte[]> region = getCache().getRegion(REGION_NAME);
        byte[] oldValue = region.put(KEY_1, VALUE_1.getBytes());
        assertNull(oldValue);

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

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

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

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

        region.putAll(putAllMap3);

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

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

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

        Map<String, byte[]> getAllMap = region.getAll(getAllCollection);
        oldValue = getAllMap.get(KEY_1);
        assertEquals(VALUE_1, new String(oldValue));

        oldValue = getAllMap.get(KEY_2);
        assertEquals(VALUE_2, new String(oldValue));

        oldValue = getAllMap.get(KEY_3);
        assertEquals(VALUE_3, new String(oldValue));
      }
Tests the following operations on a region with compression enabled using byte[] values:

<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