You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by pi...@apache.org on 2018/06/28 15:22:38 UTC
[geode] branch develop updated: GEODE-5285: Improve unit test
coverage for PdxInstanceImpl. (#2085)
This is an automated email from the ASF dual-hosted git repository.
pivotalsarge pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/develop by this push:
new 3246b4e GEODE-5285: Improve unit test coverage for PdxInstanceImpl. (#2085)
3246b4e is described below
commit 3246b4ed36a8f7aa61039e9bea335898665fbb65
Author: Michael "Sarge" Dodge <md...@pivotal.io>
AuthorDate: Thu Jun 28 08:22:32 2018 -0700
GEODE-5285: Improve unit test coverage for PdxInstanceImpl. (#2085)
- Add unit test for PdxInstance.getField().
- Add unit test for PdxInstance.hasField().
- Add unit test for PdxInstance.isEnum().
- Add unit test for PdxInstance.getClassName().
- Add unit test for PdxInstance.getFieldNames().
- Add unit test for PdxInstance.isIdentityField().
---
.../geode/pdx/internal/PdxInstanceImplTest.java | 463 ++++++++++-----------
1 file changed, 212 insertions(+), 251 deletions(-)
diff --git a/geode-core/src/test/java/org/apache/geode/pdx/internal/PdxInstanceImplTest.java b/geode-core/src/test/java/org/apache/geode/pdx/internal/PdxInstanceImplTest.java
index ca08682..8afc991 100644
--- a/geode-core/src/test/java/org/apache/geode/pdx/internal/PdxInstanceImplTest.java
+++ b/geode-core/src/test/java/org/apache/geode/pdx/internal/PdxInstanceImplTest.java
@@ -17,6 +17,8 @@ package org.apache.geode.pdx.internal;
import static org.apache.commons.lang.StringUtils.substringAfter;
import static org.apache.geode.distributed.internal.locks.GrantorRequestProcessor.GrantorRequestContext;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -24,6 +26,7 @@ import static org.powermock.api.mockito.PowerMockito.doNothing;
import java.io.IOException;
import java.io.Serializable;
+import java.util.Arrays;
import org.apache.commons.lang.StringUtils;
import org.junit.After;
@@ -45,7 +48,28 @@ import org.apache.geode.test.junit.categories.UnitTest;
@Category({UnitTest.class, SerializationTest.class})
public class PdxInstanceImplTest {
- protected TypeRegistry pdxRegistry;
+ PdxType emptyPdxType;
+ PdxField nonExistentField;
+ PdxType pdxType;
+ PdxField nonIdentityField;
+ PdxField booleanField;
+ PdxField doubleField;
+ PdxField intField;
+ PdxField longField;
+ PdxField objectField;
+ PdxField stringField;
+ PdxField byteArrayField;
+ PdxField objectArrayField;
+ PdxField integerArrayField;
+ PdxField shortArrayField;
+ PdxField intArrayField;
+ PdxField longArrayField;
+ PdxField charArrayField;
+ PdxField floatArrayField;
+ PdxField doubleArrayField;
+ PdxField booleanArrayField;
+ TypeRegistry pdxRegistry;
+ PdxInstance instance;
@Before
public void setUp() throws IOException, ClassNotFoundException {
@@ -80,302 +104,239 @@ public class PdxInstanceImplTest {
DistributedLockService distributedLockService = mock(DistributedLockService.class);
+ emptyPdxType = new PdxType("PdxInstanceImplTest.EmptyPdxType", false);
+ nonExistentField = new PdxField("nonExistentField", 0, 0, FieldType.OBJECT, false);
+
+ pdxType = new PdxType("PdxInstanceImplTest.PdxType", false);
+ int index = 0;
+ int varId = 0;
+ nonIdentityField = new PdxField("nonIdentityField", index++, 0, FieldType.INT, false);
+ pdxType.addField(nonIdentityField);
+ booleanField = new PdxField("booleanField", index++, 0, FieldType.BOOLEAN, true);
+ pdxType.addField(booleanField);
+ doubleField = new PdxField("doubleField", index++, 0, FieldType.DOUBLE, true);
+ pdxType.addField(doubleField);
+ intField = new PdxField("intField", index++, 0, FieldType.INT, true);
+ pdxType.addField(intField);
+ longField = new PdxField("longField", index++, 0, FieldType.LONG, true);
+ pdxType.addField(longField);
+ objectField = new PdxField("objectField", index++, varId++, FieldType.OBJECT, true);
+ pdxType.addField(objectField);
+ stringField = new PdxField("stringField", index++, varId++, FieldType.STRING, true);
+ pdxType.addField(stringField);
+ byteArrayField =
+ new PdxField("byteArrayField", index++, varId++, FieldType.BYTE_ARRAY, true);
+ pdxType.addField(byteArrayField);
+ objectArrayField =
+ new PdxField("objectArrayField", index++, varId++, FieldType.OBJECT_ARRAY, true);
+ pdxType.addField(objectArrayField);
+ integerArrayField =
+ new PdxField("integerArrayField", index++, varId++, FieldType.OBJECT_ARRAY, true);
+ pdxType.addField(integerArrayField);
+ shortArrayField =
+ new PdxField("shortArrayField", index++, varId++, FieldType.SHORT_ARRAY, true);
+ pdxType.addField(shortArrayField);
+ intArrayField = new PdxField("intArrayField", index++, varId++, FieldType.INT_ARRAY, true);
+ pdxType.addField(intArrayField);
+ longArrayField =
+ new PdxField("longArrayField", index++, varId++, FieldType.LONG_ARRAY, true);
+ pdxType.addField(longArrayField);
+ charArrayField =
+ new PdxField("charArrayField", index++, varId++, FieldType.CHAR_ARRAY, true);
+ pdxType.addField(charArrayField);
+ floatArrayField =
+ new PdxField("floatArrayField", index++, varId++, FieldType.FLOAT_ARRAY, true);
+ pdxType.addField(floatArrayField);
+ doubleArrayField =
+ new PdxField("doubleArrayField", index++, varId++, FieldType.DOUBLE_ARRAY, true);
+ pdxType.addField(doubleArrayField);
+ booleanArrayField =
+ new PdxField("booleanArrayField", index++, varId++, FieldType.BOOLEAN_ARRAY, true);
+ pdxType.addField(booleanArrayField);
+
PeerTypeRegistration testTypeRegistration = mock(PeerTypeRegistration.class);
when(testTypeRegistration.getLockService()).thenReturn(distributedLockService);
+ when(testTypeRegistration.defineType(emptyPdxType)).thenReturn(1);
+ when(testTypeRegistration.defineType(pdxType)).thenReturn(2);
+ when(testTypeRegistration.getType(1)).thenReturn(emptyPdxType);
+ when(testTypeRegistration.getType(2)).thenReturn(pdxType);
TypeRegistration typeRegistration =
new TestLonerTypeRegistration(internalCache, testTypeRegistration);
pdxRegistry = new TypeRegistry(internalCache, typeRegistration);
pdxRegistry.initialize();
- }
-
- @After
- public void tearDown() {
- // Do nothing.
- }
-
- @Test
- public void testToStringForEmpty() throws Exception {
- final String name = "testToStringForEmpty";
- final PdxType pdxType = new PdxType(name, false);
-
- final PdxWriterImpl writer = new PdxWriterImpl(pdxType, pdxRegistry, new PdxOutputStream());
- writer.completeByteStreamGeneration();
-
- final PdxInstance instance = writer.makePdxInstance();
- assertEquals(name + "]{}", substringAfter(instance.toString(), ","));
- }
-
- @Test
- public void testToStringForInteger() {
- final String name = "testToStringForInteger";
- final PdxType pdxType = new PdxType(name, false);
-
- int index = 0;
- PdxField intField = new PdxField("intField", index++, 0, FieldType.INT, false);
- pdxType.addField(intField);
-
- final PdxWriterImpl writer = new PdxWriterImpl(pdxType, pdxRegistry, new PdxOutputStream(1024));
- writer.writeInt(37);
- writer.completeByteStreamGeneration();
-
- final PdxInstance instance = writer.makePdxInstance();
- assertEquals(name + "]{intField=37}", substringAfter(instance.toString(), ","));
- }
-
- @Test
- public void testToStringForString() {
- final String name = "testToStringForString";
- final PdxType pdxType = new PdxType(name, false);
-
- int index = 0;
- PdxField stringField = new PdxField("stringField", index++, 0, FieldType.STRING, false);
- pdxType.addField(stringField);
-
- final PdxWriterImpl writer = new PdxWriterImpl(pdxType, pdxRegistry, new PdxOutputStream(1024));
- writer.writeString("MOOF!");
- writer.completeByteStreamGeneration();
-
- final PdxInstance instance = writer.makePdxInstance();
- assertEquals("testToStringForString]{stringField=MOOF!}",
- substringAfter(instance.toString(), ","));
- }
-
- @Test
- public void testToStringForBooleanLongDoubleAndString() {
- final String name = "testToStringForBooleanLongDoubleAndString";
- final PdxType pdxType = new PdxType(name, false);
-
- int index = 0;
- PdxField booleanField = new PdxField("booleanField", index++, 0, FieldType.BOOLEAN, false);
- pdxType.addField(booleanField);
- PdxField doubleField = new PdxField("doubleField", index++, 0, FieldType.DOUBLE, false);
- pdxType.addField(doubleField);
- PdxField longField = new PdxField("longField", index++, 0, FieldType.LONG, false);
- pdxType.addField(longField);
- PdxField stringField = new PdxField("stringField", index++, 0, FieldType.STRING, false);
- pdxType.addField(stringField);
+ pdxRegistry.defineType(emptyPdxType);
+ pdxRegistry.defineType(pdxType);
final PdxWriterImpl writer = new PdxWriterImpl(pdxType, pdxRegistry, new PdxOutputStream(1024));
+ writer.writeInt(13);
writer.writeBoolean(true);
writer.writeDouble(3.1415);
- writer.writeLong(37);
- writer.writeString("MOOF!");
- writer.completeByteStreamGeneration();
-
- final PdxInstance instance = writer.makePdxInstance();
- assertEquals(
- "testToStringForBooleanLongDoubleAndString]{booleanField=true, doubleField=3.1415, longField=37, stringField=MOOF!}",
- substringAfter(instance.toString(), ","));
- }
-
- @Test
- public void testToStringForObject() {
- final String name = "testToStringForObject";
- final PdxType pdxType = new PdxType(name, false);
-
- int index = 0;
- PdxField objectField = new PdxField("objectField", index++, 0, FieldType.OBJECT, false);
- pdxType.addField(objectField);
-
- final PdxWriterImpl writer = new PdxWriterImpl(pdxType, pdxRegistry, new PdxOutputStream(1024));
+ writer.writeInt(37);
+ writer.writeLong(42);
writer.writeObject(new SerializableObject("Dave"));
- writer.completeByteStreamGeneration();
-
- final PdxInstance instance = writer.makePdxInstance();
- assertEquals("testToStringForObject]{objectField=Dave}",
- substringAfter(instance.toString(), ","));
- }
-
- @Test
- public void testToStringForByteArray() {
- final String name = "testToStringForByteArray";
- final PdxType pdxType = new PdxType(name, false);
-
- int index = 0;
- PdxField byteArrayField =
- new PdxField("byteArrayField", index++, 0, FieldType.BYTE_ARRAY, false);
- pdxType.addField(byteArrayField);
-
- final PdxWriterImpl writer = new PdxWriterImpl(pdxType, pdxRegistry, new PdxOutputStream(1024));
+ writer.writeString("MOOF!");
writer.writeByteArray(new byte[] {(byte) 0xDE, (byte) 0xAD, (byte) 0xBE, (byte) 0xEF});
- writer.completeByteStreamGeneration();
-
- final PdxInstance instance = writer.makePdxInstance();
- assertEquals("testToStringForByteArray]{byteArrayField=DEADBEEF}",
- substringAfter(instance.toString(), ","));
- }
-
- @Test
- public void testToStringForObjectArray() {
- final String name = "testToStringForObjectArray";
- final PdxType pdxType = new PdxType(name, false);
-
- int index = 0;
- PdxField objectArrayField =
- new PdxField("objectArrayField", index++, 0, FieldType.OBJECT_ARRAY, false);
- pdxType.addField(objectArrayField);
-
- final PdxWriterImpl writer = new PdxWriterImpl(pdxType, pdxRegistry, new PdxOutputStream(1024));
writer.writeObjectArray(
new Object[] {new SerializableObject("Dave"), new SerializableObject("Stewart")});
+ writer.writeObjectArray(new Integer[] {new Integer(37), new Integer(42)});
+ writer.writeShortArray(new short[] {(short) 37, (short) 42});
+ writer.writeIntArray(new int[] {37, 42});
+ writer.writeLongArray(new long[] {37L, 42L});
+ writer.writeCharArray(new char[] {'o', 'k'});
+ writer.writeFloatArray(new float[] {3.14159F, 2.71828F});
+ writer.writeDoubleArray(new double[] {3.14159, 2.71828});
+ writer.writeBooleanArray(new boolean[] {false, true});
writer.completeByteStreamGeneration();
- final PdxInstance instance = writer.makePdxInstance();
- assertEquals("testToStringForObjectArray]{objectArrayField=[Dave, Stewart]}",
- substringAfter(instance.toString(), ","));
+ instance = writer.makePdxInstance();
}
- @Test
- public void testToStringForIntegerArray() {
- final String name = "testToStringForIntegerArray";
- final PdxType pdxType = new PdxType(name, false);
-
- int index = 0;
- PdxField integerArrayField =
- new PdxField("integerArrayField", index++, 0, FieldType.OBJECT_ARRAY, false);
- pdxType.addField(integerArrayField);
-
- final PdxWriterImpl writer = new PdxWriterImpl(pdxType, pdxRegistry, new PdxOutputStream(1024));
- writer.writeObjectArray(new Integer[] {new Integer(37), new Integer(42)});
- writer.completeByteStreamGeneration();
-
- final PdxInstance instance = writer.makePdxInstance();
- assertEquals("testToStringForIntegerArray]{integerArrayField=[37, 42]}",
- substringAfter(instance.toString(), ","));
+ @After
+ public void tearDown() {
+ // Do nothing.
}
@Test
- public void testToStringForShortArray() {
- final String name = "testToStringForShortArray";
- final PdxType pdxType = new PdxType(name, false);
-
- short index = 0;
- PdxField shortArrayField =
- new PdxField("shortArrayField", index++, 0, FieldType.SHORT_ARRAY, false);
- pdxType.addField(shortArrayField);
-
- final PdxWriterImpl writer = new PdxWriterImpl(pdxType, pdxRegistry, new PdxOutputStream(1024));
- writer.writeShortArray(new short[] {(short) 37, (short) 42});
+ public void testToStringForEmpty() {
+ final PdxWriterImpl writer =
+ new PdxWriterImpl(emptyPdxType, pdxRegistry, new PdxOutputStream());
writer.completeByteStreamGeneration();
final PdxInstance instance = writer.makePdxInstance();
- assertEquals("testToStringForShortArray]{shortArrayField=[37, 42]}",
- substringAfter(instance.toString(), ","));
+ assertEquals(emptyPdxType.getClassName() + "]{}", substringAfter(instance.toString(), ","));
}
@Test
- public void testToStringForIntArray() {
- final String name = "testToStringForIntArray";
- final PdxType pdxType = new PdxType(name, false);
-
- short index = 0;
- PdxField intArrayField = new PdxField("intArrayField", index++, 0, FieldType.INT_ARRAY, false);
- pdxType.addField(intArrayField);
-
- final PdxWriterImpl writer = new PdxWriterImpl(pdxType, pdxRegistry, new PdxOutputStream(1024));
- writer.writeIntArray(new int[] {37, 42});
- writer.completeByteStreamGeneration();
-
- final PdxInstance instance = writer.makePdxInstance();
- assertEquals("testToStringForIntArray]{intArrayField=[37, 42]}",
+ public void testToString() {
+ assertEquals(
+ pdxType.getClassName() + "]{" +
+ booleanArrayField.getFieldName() + "=[false, true]" +
+ ", " +
+ booleanField.getFieldName() + "=true" +
+ ", " +
+ byteArrayField.getFieldName() + "=DEADBEEF" +
+ ", " +
+ charArrayField.getFieldName() + "=[o, k]" +
+ ", " +
+ doubleArrayField.getFieldName() + "=[3.14159, 2.71828]" +
+ ", " +
+ doubleField.getFieldName() + "=3.1415" +
+ ", " +
+ floatArrayField.getFieldName() + "=[3.14159, 2.71828]" +
+ ", " +
+ intArrayField.getFieldName() + "=[37, 42]" +
+ ", " +
+ intField.getFieldName() + "=37" +
+ ", " +
+ integerArrayField.getFieldName() + "=[37, 42]" +
+ ", " +
+ longArrayField.getFieldName() + "=[37, 42]" +
+ ", " +
+ longField.getFieldName() + "=42" +
+ ", " +
+ objectArrayField.getFieldName() + "=[Dave, Stewart]" +
+ ", " +
+ objectField.getFieldName() + "=Dave" +
+ ", " +
+ shortArrayField.getFieldName() + "=[37, 42]" +
+ ", " +
+ stringField.getFieldName() + "=MOOF!" +
+ "}",
substringAfter(instance.toString(), ","));
}
@Test
- public void testToStringForLongArray() {
- final String name = "testToStringForLongArray";
- final PdxType pdxType = new PdxType(name, false);
-
- short index = 0;
- PdxField longArrayField =
- new PdxField("longArrayField", index++, 0, FieldType.LONG_ARRAY, false);
- pdxType.addField(longArrayField);
-
- final PdxWriterImpl writer = new PdxWriterImpl(pdxType, pdxRegistry, new PdxOutputStream(1024));
- writer.writeLongArray(new long[] {37L, 42L});
- writer.completeByteStreamGeneration();
-
- final PdxInstance instance = writer.makePdxInstance();
- assertEquals("testToStringForLongArray]{longArrayField=[37, 42]}",
- substringAfter(instance.toString(), ","));
+ public void testGetField() {
+ assertNull(instance.getField(nonExistentField.getFieldName()));
+ assertEquals(Integer.class, instance.getField(nonIdentityField.getFieldName()).getClass());
+ assertEquals(Boolean.class, instance.getField(booleanField.getFieldName()).getClass());
+ assertEquals(Double.class, instance.getField(doubleField.getFieldName()).getClass());
+ assertEquals(Integer.class, instance.getField(intField.getFieldName()).getClass());
+ assertEquals(Long.class, instance.getField(longField.getFieldName()).getClass());
+ assertEquals(SerializableObject.class,
+ instance.getField(objectField.getFieldName()).getClass());
+ assertEquals(String.class, instance.getField(stringField.getFieldName()).getClass());
+ assertEquals(byte[].class, instance.getField(byteArrayField.getFieldName()).getClass());
+ assertEquals(Object[].class, instance.getField(objectArrayField.getFieldName()).getClass());
+ assertEquals(Integer[].class, instance.getField(integerArrayField.getFieldName()).getClass());
+ assertEquals(short[].class, instance.getField(shortArrayField.getFieldName()).getClass());
+ assertEquals(int[].class, instance.getField(intArrayField.getFieldName()).getClass());
+ assertEquals(long[].class, instance.getField(longArrayField.getFieldName()).getClass());
+ assertEquals(char[].class, instance.getField(charArrayField.getFieldName()).getClass());
+ assertEquals(float[].class, instance.getField(floatArrayField.getFieldName()).getClass());
+ assertEquals(double[].class, instance.getField(doubleArrayField.getFieldName()).getClass());
+ assertEquals(boolean[].class, instance.getField(booleanArrayField.getFieldName()).getClass());
}
@Test
- public void testToStringForCharArray() {
- final String name = "testToStringForCharArray";
- final PdxType pdxType = new PdxType(name, false);
-
- short index = 0;
- PdxField charArrayField =
- new PdxField("charArrayField", index++, 0, FieldType.CHAR_ARRAY, false);
- pdxType.addField(charArrayField);
-
- final PdxWriterImpl writer = new PdxWriterImpl(pdxType, pdxRegistry, new PdxOutputStream(1024));
- writer.writeCharArray(new char[] {'o', 'k'});
- writer.completeByteStreamGeneration();
-
- final PdxInstance instance = writer.makePdxInstance();
- assertEquals("testToStringForCharArray]{charArrayField=[o, k]}",
- substringAfter(instance.toString(), ","));
+ public void testHasField() {
+ assertEquals(false, instance.hasField(nonExistentField.getFieldName()));
+ assertEquals(true, instance.hasField(nonIdentityField.getFieldName()));
+ assertEquals(true, instance.hasField(booleanField.getFieldName()));
+ assertEquals(true, instance.hasField(doubleField.getFieldName()));
+ assertEquals(true, instance.hasField(intField.getFieldName()));
+ assertEquals(true, instance.hasField(longField.getFieldName()));
+ assertEquals(true,
+ instance.hasField(objectField.getFieldName()));
+ assertEquals(true, instance.hasField(stringField.getFieldName()));
+ assertEquals(true, instance.hasField(byteArrayField.getFieldName()));
+ assertEquals(true, instance.hasField(objectArrayField.getFieldName()));
+ assertEquals(true, instance.hasField(integerArrayField.getFieldName()));
+ assertEquals(true, instance.hasField(shortArrayField.getFieldName()));
+ assertEquals(true, instance.hasField(intArrayField.getFieldName()));
+ assertEquals(true, instance.hasField(longArrayField.getFieldName()));
+ assertEquals(true, instance.hasField(charArrayField.getFieldName()));
+ assertEquals(true, instance.hasField(floatArrayField.getFieldName()));
+ assertEquals(true, instance.hasField(doubleArrayField.getFieldName()));
+ assertEquals(true, instance.hasField(booleanArrayField.getFieldName()));
}
@Test
- public void testToStringForFloatArray() {
- final String name = "testToStringForFloatArray";
- final PdxType pdxType = new PdxType(name, false);
-
- short index = 0;
- PdxField floatArrayField =
- new PdxField("floatArrayField", index++, 0, FieldType.FLOAT_ARRAY, false);
- pdxType.addField(floatArrayField);
-
- final PdxWriterImpl writer = new PdxWriterImpl(pdxType, pdxRegistry, new PdxOutputStream(1024));
- writer.writeFloatArray(new float[] {3.14159F, 2.71828F});
- writer.completeByteStreamGeneration();
-
- final PdxInstance instance = writer.makePdxInstance();
- assertEquals("testToStringForFloatArray]{floatArrayField=[3.14159, 2.71828]}",
- substringAfter(instance.toString(), ","));
+ public void testIsEnum() {
+ assertFalse(instance.isEnum());
}
@Test
- public void testToStringForDoubleArray() {
- final String name = "testToStringForDoubleArray";
- final PdxType pdxType = new PdxType(name, false);
-
- short index = 0;
- PdxField doubleArrayField =
- new PdxField("doubleArrayField", index++, 0, FieldType.DOUBLE_ARRAY, false);
- pdxType.addField(doubleArrayField);
-
- final PdxWriterImpl writer = new PdxWriterImpl(pdxType, pdxRegistry, new PdxOutputStream(1024));
- writer.writeDoubleArray(new double[] {3.14159, 2.71828});
- writer.completeByteStreamGeneration();
-
- final PdxInstance instance = writer.makePdxInstance();
- assertEquals("testToStringForDoubleArray]{doubleArrayField=[3.14159, 2.71828]}",
- substringAfter(instance.toString(), ","));
+ public void testGetClassName() {
+ assertEquals(pdxType.getClassName(), instance.getClassName());
}
@Test
- public void testToStringForBooleanArray() {
- final String name = "testToStringForBooleanArray";
- final PdxType pdxType = new PdxType(name, false);
-
- short index = 0;
- PdxField booleanArrayField =
- new PdxField("booleanArrayField", index++, 0, FieldType.BOOLEAN_ARRAY, false);
- pdxType.addField(booleanArrayField);
-
- final PdxWriterImpl writer = new PdxWriterImpl(pdxType, pdxRegistry, new PdxOutputStream(1024));
- writer.writeBooleanArray(new boolean[] {false, true});
- writer.completeByteStreamGeneration();
+ public void testGetFieldNames() {
+ assertEquals(Arrays.asList(
+ nonIdentityField.getFieldName(), booleanField.getFieldName(), doubleField.getFieldName(),
+ intField.getFieldName(),
+ longField.getFieldName(), objectField.getFieldName(), stringField.getFieldName(),
+ byteArrayField.getFieldName(), objectArrayField.getFieldName(),
+ integerArrayField.getFieldName(), shortArrayField.getFieldName(),
+ intArrayField.getFieldName(), longArrayField.getFieldName(), charArrayField.getFieldName(),
+ floatArrayField.getFieldName(), doubleArrayField.getFieldName(),
+ booleanArrayField.getFieldName()), instance.getFieldNames());
+ }
- final PdxInstance instance = writer.makePdxInstance();
- assertEquals("testToStringForBooleanArray]{booleanArrayField=[false, true]}",
- substringAfter(instance.toString(), ","));
+ @Test
+ public void testIsIdentityField() {
+ assertEquals(false, instance.isIdentityField(nonExistentField.getFieldName()));
+ assertEquals(false, instance.isIdentityField(nonIdentityField.getFieldName()));
+ assertEquals(true, instance.isIdentityField(booleanField.getFieldName()));
+ assertEquals(true, instance.isIdentityField(doubleField.getFieldName()));
+ assertEquals(true, instance.isIdentityField(intField.getFieldName()));
+ assertEquals(true, instance.isIdentityField(longField.getFieldName()));
+ assertEquals(true,
+ instance.isIdentityField(objectField.getFieldName()));
+ assertEquals(true, instance.isIdentityField(stringField.getFieldName()));
+ assertEquals(true, instance.isIdentityField(byteArrayField.getFieldName()));
+ assertEquals(true, instance.isIdentityField(objectArrayField.getFieldName()));
+ assertEquals(true, instance.isIdentityField(integerArrayField.getFieldName()));
+ assertEquals(true, instance.isIdentityField(shortArrayField.getFieldName()));
+ assertEquals(true, instance.isIdentityField(intArrayField.getFieldName()));
+ assertEquals(true, instance.isIdentityField(longArrayField.getFieldName()));
+ assertEquals(true, instance.isIdentityField(charArrayField.getFieldName()));
+ assertEquals(true, instance.isIdentityField(floatArrayField.getFieldName()));
+ assertEquals(true, instance.isIdentityField(doubleArrayField.getFieldName()));
+ assertEquals(true, instance.isIdentityField(booleanArrayField.getFieldName()));
}
static class SerializableObject implements Serializable {