public PdxInstance getAllFields(final int change) throws IOException, ClassNotFoundException { PdxInstance instance = getPdx(new TestPdx() { public void toData(PdxWriter out) { int x = 0;
public void testIdentityFields() throws IOException, ClassNotFoundException { PdxInstance instance1 = getPdx(getPdxSerializable(new TestPdx() { public void toData(PdxWriter out) { out.writeInt("field2", 53); out.writeBoolean("field1", false); out.markIdentityField("field2"); } })); PdxInstance instance2 = getPdx(getPdxSerializable(new TestPdx() { public void toData(PdxWriter out) { out.writeInt("field2", 53); out.writeBoolean("field1", true); out.markIdentityField("field2"); } })); assertEquals(instance1, instance2); assertEquals(instance1.hashCode(), instance2.hashCode()); assertFalse(instance1.isIdentityField("field1")); assertTrue(instance1.isIdentityField("field2")); }
public void testEqualsDifferentTypes() throws IOException, ClassNotFoundException { PdxInstance instance1 = getPdx(new TestPdx() { public void toData(PdxWriter writer) { writer.writeBoolean("field1", true); } }); PdxInstance instance2 = getPdx(new TestPdx() { public void toData(PdxWriter writer) { writer.writeBoolean("field1", true); } }); //These are different classes, so they shouldn't match. assertFalse(instance1.equals(instance2)); assertFalse(instance1.isIdentityField("field1")); }
public void testHashCodeEqualsOutOfOrderFields() throws IOException, ClassNotFoundException, NoSuchMethodException, InstantiationException, IllegalAccessException, InvocationTargetException { PdxSerializable serializable1 = getSeparateClassLoadedPdx(true); PdxInstance instance1 = getPdx(serializable1); PdxSerializable serializable2 = getSeparateClassLoadedPdx(false); PdxInstance instance2 = getPdx(serializable2); assertEquals(instance1, instance2); assertEquals(instance1.hashCode(), instance2.hashCode()); }
public void testGetField() throws IOException, ClassNotFoundException { PdxInstance instance = getPdx(new TestPdx() { public void toData(PdxWriter out) { out.writeBoolean("field1", false); out.writeInt("field2", 53); out.writeObject("field3", new TestPdx() { public void toData(PdxWriter writer) { writer.writeString("afield", "hello"); } }); } }); assertEquals(Arrays.asList(new String[]{"field1", "field2", "field3"}), instance.getFieldNames()); assertEquals(instance.getField("field2"), Integer.valueOf(53)); assertEquals(instance.getField("field1"), Boolean.FALSE); PdxInstance fieldInstance = (PdxInstance) instance.getField("field3"); assertEquals(Arrays.asList(new String[]{"afield"}), fieldInstance.getFieldNames()); assertEquals("hello", fieldInstance.getField("afield")); }