/** * @param enumArr Enum array. * @return Ordinals. */ private <T extends Enum<?>> Integer[] ordinals(BinaryObject[] enumArr) { Integer[] ords = new Integer[enumArr.length]; for (int i = 0; i < enumArr.length; i++) ords[i] = enumArr[i].enumOrdinal(); return ords; }
@Override public void examine(IgniteCache cache) { BinaryObject enumBo = (BinaryObject) cache.get(4); assertEquals(EnumType.ENUM_VAL_0.ordinal(), enumBo.enumOrdinal()); BinaryType type = enumBo.type(); assertTrue(type.isEnum()); assertEquals(EnumType.class.getName(), type.typeName()); Collection<BinaryObject> enumVals = type.enumValues(); assertEquals(2, enumVals.size()); int i = 0; for (BinaryObject bo : enumVals) { assertEquals(i, bo.enumOrdinal()); assertEquals("ENUM_VAL_" + (i++), bo.enumName()); } } };
int ord = obj.enumOrdinal();
/** */ private void assertBinaryObjectsEqual(BinaryObject exp, BinaryObject actual) throws Exception { assertBinaryTypesEqual(exp.type(), actual.type()); for (String f : exp.type().fieldNames()) { Object expVal = exp.field(f); Class<?> cls = expVal.getClass(); if (cls.getMethod("equals", Object.class).getDeclaringClass() == cls) assertEquals(expVal, actual.field(f)); } if (exp.type().isEnum()) assertEquals(exp.enumOrdinal(), actual.enumOrdinal()); }
/** */ private void assertBinaryObjectsEqual(BinaryObject exp, BinaryObject actual) throws Exception { assertBinaryTypesEqual(exp.type(), actual.type()); for (String f : exp.type().fieldNames()) { Object expVal = exp.field(f); Class<?> cls = expVal.getClass(); if (cls.getMethod("equals", Object.class).getDeclaringClass() == cls) assertEquals(expVal, actual.field(f)); } if (exp.type().isEnum()) assertEquals(exp.enumOrdinal(), actual.enumOrdinal()); } }
/** * Validate single value. * * @param obj Binary value. * @param val Expected value. */ private void validate(BinaryObject obj, DeclaredBodyEnum val) { assertTrue(obj.type().isEnum()); assertEquals(node1.binary().typeId(DeclaredBodyEnum.class.getName()), obj.type().typeId()); assertEquals(node2.binary().typeId(DeclaredBodyEnum.class.getName()), obj.type().typeId()); assertEquals(val.ordinal(), obj.enumOrdinal()); }
TestEnum key1 = TestEnum.values()[keyBinObj.enumOrdinal()]; rmv = ctrlMapForBinaryObjects.remove(key1) != null;
/** * @param cache Cache. * @param key Key. * @param expVal Expected value. */ private static void assertBinaryEnum(IgniteCache<Object, Object> cache, int key, TestEnum expVal) { Marshaller marsh = ((IgniteCacheProxy)cache).context().marshaller(); if (marsh instanceof BinaryMarshaller) { BinaryObject enumObj = (BinaryObject)cache.withKeepBinary().get(key); assertEquals(expVal.ordinal(), enumObj.enumOrdinal()); assertTrue(enumObj.type().isEnum()); assertTrue(enumObj instanceof BinaryEnumObjectImpl); } }
/** * Validate single value. * * @param obj Binary value. * @param val Expected value. */ private void validate(BinaryObject obj, EnumType val) { assertTrue(obj.type().isEnum()); assertEquals(node1.binary().typeId(EnumType.class.getName()), obj.type().typeId()); assertEquals(node2.binary().typeId(EnumType.class.getName()), obj.type().typeId()); assertEquals(val.ordinal(), obj.enumOrdinal()); if (register) assertEquals(val.name(), obj.enumName()); }
assertEquals(EnumType.ONE.ordinal(), values[0].enumOrdinal()); assertEquals(EnumType.TWO.ordinal(), values[1].enumOrdinal());
assertEquals(obj.col, po.field("col")); assertEquals(obj.map, po.field("map")); assertEquals(new Integer(obj.enumVal.ordinal()), new Integer(((BinaryObject)po.field("enumVal")).enumOrdinal())); assertArrayEquals(ordinals(obj.enumArr), ordinals((BinaryObject[])po.field("enumArr"))); assertNull(po.field("unknown"));
assertEquals(obj.col, po.field("col")); assertEquals(obj.map, po.field("map")); assertEquals(new Integer(obj.enumVal.ordinal()), new Integer(((BinaryObject)po.field("enumVal")).enumOrdinal())); assertArrayEquals(ordinals(obj.enumArr), ordinals((BinaryObject[])po.field("enumArr"))); assertNull(po.field("unknown")); assertEquals(obj.inner.map, innerPo.field("map")); assertEquals(new Integer(obj.inner.enumVal.ordinal()), new Integer(((BinaryObject)innerPo.field("enumVal")).enumOrdinal())); assertArrayEquals(ordinals(obj.inner.enumArr), ordinals((BinaryObject[])innerPo.field("enumArr"))); assertNull(innerPo.field("inner"));
assertEquals(obj.col, po.field("_col")); assertEquals(obj.map, po.field("_map")); assertEquals(new Integer(obj.enumVal.ordinal()), new Integer(((BinaryObject)po.field("_enumVal")).enumOrdinal())); assertArrayEquals(ordinals(obj.enumArr), ordinals((BinaryObject[])po.field("_enumArr"))); assertNull(po.field("unknown")); assertEquals(obj.simple.map, simplePo.field("map")); assertEquals(new Integer(obj.simple.enumVal.ordinal()), new Integer(((BinaryObject)simplePo.field("enumVal")).enumOrdinal())); assertArrayEquals(ordinals(obj.simple.enumArr), ordinals((BinaryObject[])simplePo.field("enumArr"))); assertNull(simplePo.field("simple")); assertEquals(obj.binary.map, binaryPo.field("_map")); assertEquals(new Integer(obj.binary.enumVal.ordinal()), new Integer(((BinaryObject)binaryPo.field("_enumVal")).enumOrdinal())); assertArrayEquals(ordinals(obj.binary.enumArr), ordinals((BinaryObject[])binaryPo.field("_enumArr"))); assertNull(binaryPo.field("_simple"));
int ord = obj.enumOrdinal();