@Test
  public void testOperationsWithSerializableObject() {
    int localMaxMemory = 50;
    Thread[] threadArr = new Thread[10];
    root = PartitionedRegionTestHelper.createPartitionedRegion(regionName,
        String.valueOf(localMaxMemory), 0);
    System.out.println("*******testOperationsWithSerializableObject started*********");
    for (int i = 0; i < MAX_THREADS; i++) {
      putThread putObj = new putThread("PRSerializableObjectJUnitTest" + i);
      threadArr[i] = putObj;
    }

    for (int i = 0; i < MAX_THREADS; i++) {
      threadArr[i].start();
      ThreadUtils.join(threadArr[i], 30 * 1000);
    }

    for (int i = 0; i < MAX_THREADS; i++) {
      new getThread("PRSerializableObjectJUnitTest" + i);
    }

    try {
      Thread.sleep(100);
    } catch (InterruptedException e) {
      root.getCache().getLogger().warning("Got Interrupted Exception in sleep.", e);
      fail("interrupted");
    }
    System.out
        .println("********testOperationsWithSerializableObject complited successfully********");
  }
This test creates a region and threads. This Region is common to all the threads which perform
get, put operations on that region. Object used during these operations are serializable. key
and value in the partition region are same.
geode-core/src/integrationTest/java/org/apache/geode/internal/cache/PartitionedRegionSerializableObjectJUnitTest.java