You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2015/12/11 11:00:32 UTC
[27/50] [abbrv] ignite git commit: ignite-2065: rename "portable"
packages to "binary"
http://git-wip-us.apache.org/repos/asf/ignite/blob/1dbf20e0/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryEnumsSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryEnumsSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryEnumsSelfTest.java
deleted file mode 100644
index 3bc3922..0000000
--- a/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryEnumsSelfTest.java
+++ /dev/null
@@ -1,446 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.portable;
-
-import org.apache.ignite.Ignite;
-import org.apache.ignite.IgniteCache;
-import org.apache.ignite.binary.BinaryObject;
-import org.apache.ignite.binary.BinaryTypeConfiguration;
-import org.apache.ignite.cache.CacheMode;
-import org.apache.ignite.configuration.BinaryConfiguration;
-import org.apache.ignite.configuration.CacheConfiguration;
-import org.apache.ignite.configuration.IgniteConfiguration;
-import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-
-import java.io.Serializable;
-import java.util.Arrays;
-
-/**
- * Contains tests for binary enums.
- */
-@SuppressWarnings("unchecked")
-public class BinaryEnumsSelfTest extends GridCommonAbstractTest {
- /** Cache name. */
- private static String CACHE_NAME = "cache";
-
- /** Whether to register types or not. */
- private boolean register;
-
- /** Node 1. */
- private Ignite node1;
-
- /** Node 2. */
- private Ignite node2;
-
- /** Cache 1. */
- private IgniteCache cache1;
-
- /** Cache 2. */
- private IgniteCache cache2;
-
- /** Binary cache 1. */
- private IgniteCache cacheBinary1;
-
- /** Binary cache 2. */
- private IgniteCache cacheBinary2;
-
- /** {@inheritDoc} */
- @Override protected void beforeTest() throws Exception {
- register = false;
- }
-
- /** {@inheritDoc} */
- @Override protected void afterTest() throws Exception {
- stopAllGrids();
- }
-
- /** {@inheritDoc} */
- @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
- IgniteConfiguration cfg = super.getConfiguration(gridName);
-
- if (register) {
- BinaryConfiguration bCfg = new BinaryConfiguration();
-
- BinaryTypeConfiguration enumCfg = new BinaryTypeConfiguration(EnumType.class.getName());
- enumCfg.setEnum(true);
-
- bCfg.setTypeConfigurations(Arrays.asList(enumCfg, new BinaryTypeConfiguration(EnumHolder.class.getName())));
-
- cfg.setBinaryConfiguration(bCfg);
- }
-
- cfg.setMarshaller(new BinaryMarshaller());
-
- CacheConfiguration ccfg = new CacheConfiguration();
- ccfg.setName(CACHE_NAME);
- ccfg.setCacheMode(CacheMode.PARTITIONED);
-
- cfg.setCacheConfiguration(ccfg);
-
- return cfg;
- }
-
- /**
- * Start up routine.
- *
- * @throws Exception If failed.
- */
- private void startUp(boolean register) throws Exception {
- this.register = register;
-
- node1 = startGrid(0);
- cache1 = node1.cache(CACHE_NAME);
- cacheBinary1 = cache1.withKeepBinary();
-
- node2 = startGrid(1);
- cache2 = node2.cache(CACHE_NAME);
- cacheBinary2 = cache2.withKeepBinary();
- }
-
- /**
- * Test operations on simple type which is registered in advance.
- *
- * @throws Exception If failed.
- */
- public void testSimpleRegistered() throws Exception {
- checkSimple(true);
- }
-
- /**
- * Test operations on simple type which is not registered in advance.
- *
- * @throws Exception If failed.
- */
- public void testSimpleNotRegistered() throws Exception {
- checkSimple(false);
- }
-
- /**
- * Test operations when enum is nested into an object (registered).
- *
- * @throws Exception If failed.
- */
- public void testNestedRegistered() throws Exception {
- checkNested(true);
- }
-
- /**
- * Test operations when enum is nested into an object (not registered).
- *
- * @throws Exception If failed.
- */
- public void testNestedNotRegistered() throws Exception {
- checkNested(false);
- }
-
- /**
- * Test builder operations on simple type which is registered in advance.
- *
- * @throws Exception If failed.
- */
- public void testSimpleBuilderRegistered() throws Exception {
- checkSimpleBuilder(true);
- }
-
- /**
- * Test builder operations on simple type which is not registered in advance.
- *
- * @throws Exception If failed.
- */
- public void testSimpleBuilderNotRegistered() throws Exception {
- checkSimpleBuilder(false);
- }
-
- /**
- * Test builder operations when enum is nested into an object (registered).
- *
- * @throws Exception If failed.
- */
- public void testNestedBuilderRegistered() throws Exception {
- checkNestedBuilder(true);
- }
-
- /**
- * Test builder operations when enum is nested into an object (not registered).
- *
- * @throws Exception If failed.
- */
- public void testNestedBuilderNotRegistered() throws Exception {
- checkNestedBuilder(false);
- }
-
- /**
- * Check simple serialization - deserialization.
- *
- * @param registered If type should be registered in advance.
- * @throws Exception If failed.
- */
- public void checkSimple(boolean registered) throws Exception {
- startUp(registered);
-
- cache1.put(1, EnumType.ONE);
-
- validateSimple(1, EnumType.ONE, registered);
- }
-
- /**
- * Check nested serialization - deserialization.
- *
- * @param registered If type should be registered in advance.
- * @throws Exception If failed.
- */
- private void checkNested(boolean registered) throws Exception {
- startUp(registered);
-
- cache1.put(1, new EnumHolder(EnumType.ONE));
-
- validateNested(1, EnumType.ONE, registered);
- }
-
- /**
- * Check nested builder serialization - deserialization.
- *
- * @param registered If type should be registered in advance.
- * @throws Exception If failed.
- */
- private void checkNestedBuilder(boolean registered) throws Exception {
- startUp(registered);
-
- BinaryObject obj = node1.binary().builder("EnumHolder").setField("val", EnumType.ONE).build();
-
- assert node1.binary().type("EnumHolder") != null;
- assert node1.binary().type("EnumType") != null;
-
- cacheBinary1.put(1, obj);
-
- validateNested(1, EnumType.ONE, registered);
-
- obj = (BinaryObject)cacheBinary1.get(1);
- obj = node1.binary().builder(obj).setField("val", EnumType.TWO).build();
-
- cacheBinary1.put(1, obj);
-
- validateNested(1, EnumType.TWO, registered);
- }
-
- /**
- * Validate nested object.
- *
- * @param key Key.
- * @param val Value.
- * @param registered Registered flag.
- * @throws Exception If failed.
- */
- private void validateNested(int key, EnumType val, boolean registered) throws Exception {
- if (registered) {
- EnumHolder res1 = (EnumHolder) cache1.get(key);
- EnumHolder res2 = (EnumHolder) cache2.get(key);
-
- assertEquals(val, res1.val);
- assertEquals(val, res2.val);
- }
-
- BinaryObject resBinary1 = (BinaryObject)cacheBinary1.get(key);
- BinaryObject resBinary2 = (BinaryObject)cacheBinary2.get(key);
-
- validate((BinaryObject)resBinary1.field("val"), val);
- validate((BinaryObject)resBinary2.field("val"), val);
- }
-
- /**
- * Check simple serialization - deserialization using builder.
- *
- * @param registered If type should be registered in advance.
- * @throws Exception If failed.
- */
- public void checkSimpleBuilder(boolean registered) throws Exception {
- startUp(registered);
-
- BinaryObject binary = node1.binary().buildEnum(EnumType.class.getSimpleName(), EnumType.ONE.ordinal());
-
- cacheBinary1.put(1, binary);
-
- validateSimple(1, EnumType.ONE, registered);
- }
-
- /**
- * Test enum array (registered).
- *
- * @throws Exception If failed.
- */
- public void testSimpleArrayRegistered() throws Exception {
- checkSimpleArray(true);
- }
-
- /**
- * Test enum array (not registered).
- *
- * @throws Exception If failed.
- */
- public void testSimpleArrayNotRegistered() throws Exception {
- checkSimpleArray(false);
- }
-
- /**
- * Test enum array created using builder (registered).
- *
- * @throws Exception If failed.
- */
- public void testSimpleBuilderArrayRegistered() throws Exception {
- checkSimpleBuilderArray(true);
- }
-
- /**
- * Test enum array created using builder (not registered).
- *
- * @throws Exception If failed.
- */
- public void testSimpleBuilderArrayNotRegistered() throws Exception {
- checkSimpleBuilderArray(false);
- }
-
- /**
- * Check arrays with builder.
- *
- * @param registered Registered flag.
- * @throws Exception If failed.
- */
- public void checkSimpleArray(boolean registered) throws Exception {
- startUp(registered);
-
- cache1.put(1, new EnumType[] { EnumType.ONE, EnumType.TWO });
-
- validateSimpleArray(registered);
- }
-
- /**
- * Check arrays with builder.
- *
- * @param registered Registered flag.
- * @throws Exception If failed.
- */
- public void checkSimpleBuilderArray(boolean registered) throws Exception {
- startUp(registered);
-
- BinaryObject binaryOne = node1.binary().buildEnum(EnumType.class.getSimpleName(), EnumType.ONE.ordinal());
- BinaryObject binaryTwo = node1.binary().buildEnum(EnumType.class.getSimpleName(), EnumType.TWO.ordinal());
-
- cacheBinary1.put(1, new BinaryObject[] { binaryOne, binaryTwo });
-
- validateSimpleArray(registered);
- }
-
- /**
- * Validate simple array.
- *
- * @param registered Registered flag.
- */
- private void validateSimpleArray(boolean registered) {
- if (registered) {
- Object[] arr1 = (Object[])cache1.get(1);
- Object[] arr2 = (Object[])cache2.get(1);
-
- assertEquals(2, arr1.length);
- assertEquals(2, arr2.length);
-
- assertEquals(EnumType.ONE, arr1[0]);
- assertEquals(EnumType.TWO, arr1[1]);
-
- assertEquals(EnumType.ONE, arr2[0]);
- assertEquals(EnumType.TWO, arr2[1]);
- }
-
- Object[] arrBinary1 = (Object[])cacheBinary1.get(1);
- Object[] arrBinary2 = (Object[])cacheBinary2.get(1);
-
- assertEquals(2, arrBinary1.length);
- assertEquals(2, arrBinary2.length);
-
- validate((BinaryObject) arrBinary1[0], EnumType.ONE);
- validate((BinaryObject) arrBinary1[1], EnumType.TWO);
-
- validate((BinaryObject) arrBinary2[0], EnumType.ONE);
- validate((BinaryObject) arrBinary2[1], EnumType.TWO);
- }
-
- /**
- * Internal check routine for simple scenario.
- *
- * @param key Key.
- * @param val Value.
- * @param registered Registered flag.
- * @throws Exception If failed.
- */
- private void validateSimple(int key, EnumType val, boolean registered) throws Exception {
- if (registered) {
- assertEquals(val, cache1.get(key));
- assertEquals(val, cache2.get(key));
- }
-
- validate((BinaryObject) cacheBinary1.get(key), val);
- validate((BinaryObject) cacheBinary2.get(key), val);
- }
-
- /**
- * 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());
- }
-
- /**
- * Enumeration holder.
- */
- public static class EnumHolder implements Serializable {
- /** Value. */
- public EnumType val;
-
- /**
- * Default constructor.
- */
- @SuppressWarnings("UnusedDeclaration")
- public EnumHolder() {
- // No-op.
- }
-
- /**
- * Constructor.
- *
- * @param val Value.
- */
- public EnumHolder(EnumType val) {
- this.val = val;
- }
- }
-
- /**
- * Enumeration for tests.
- */
- public static enum EnumType {
- ONE,
- TWO
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/1dbf20e0/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryFieldsAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryFieldsAbstractSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryFieldsAbstractSelfTest.java
deleted file mode 100644
index 47f3886..0000000
--- a/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryFieldsAbstractSelfTest.java
+++ /dev/null
@@ -1,718 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.portable;
-
-import org.apache.ignite.binary.BinaryField;
-import org.apache.ignite.binary.BinaryObject;
-import org.apache.ignite.binary.BinaryTypeConfiguration;
-import org.apache.ignite.configuration.BinaryConfiguration;
-import org.apache.ignite.configuration.IgniteConfiguration;
-import org.apache.ignite.internal.util.IgniteUtils;
-import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.marshaller.MarshallerContextTestImpl;
-import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-
-import java.math.BigDecimal;
-import java.sql.Timestamp;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.UUID;
-
-/**
- * Contains tests for portable object fields.
- */
-public abstract class BinaryFieldsAbstractSelfTest extends GridCommonAbstractTest {
- /** Marshaller. */
- protected BinaryMarshaller dfltMarsh;
-
- /**
- * Create marshaller.
- *
- * @return Portable marshaller.
- * @throws Exception If failed.
- */
- protected BinaryMarshaller createMarshaller() throws Exception {
- PortableContext ctx = new PortableContext(BinaryCachingMetadataHandler.create(), new IgniteConfiguration());
-
- BinaryMarshaller marsh = new BinaryMarshaller();
-
- BinaryConfiguration bCfg = new BinaryConfiguration();
-
- bCfg.setCompactFooter(compactFooter());
-
- bCfg.setTypeConfigurations(Arrays.asList(
- new BinaryTypeConfiguration(TestObject.class.getName()),
- new BinaryTypeConfiguration(TestOuterObject.class.getName()),
- new BinaryTypeConfiguration(TestInnerObject.class.getName())
- ));
-
- IgniteConfiguration iCfg = new IgniteConfiguration();
-
- iCfg.setBinaryConfiguration(bCfg);
-
- marsh.setContext(new MarshallerContextTestImpl(null));
-
- IgniteUtils.invoke(BinaryMarshaller.class, marsh, "setPortableContext", ctx, iCfg);
-
- return marsh;
- }
-
- /**
- * @return Whether to use compact footer.
- */
- protected boolean compactFooter() {
- return true;
- }
-
- /**
- * Get portable context for the current marshaller.
- *
- * @param marsh Marshaller.
- * @return Portable context.
- */
- protected static PortableContext portableContext(BinaryMarshaller marsh) {
- GridPortableMarshaller impl = U.field(marsh, "impl");
-
- return impl.context();
- }
-
- /** {@inheritDoc} */
- @Override protected void beforeTest() throws Exception {
- super.beforeTest();
-
- dfltMarsh = createMarshaller();
- }
-
- /**
- * Test byte field.
- *
- * @throws Exception If failed.
- */
- public void testByte() throws Exception {
- check("fByte");
- }
-
- /**
- * Test byte array field.
- *
- * @throws Exception If failed.
- */
- public void testByteArray() throws Exception {
- check("fByteArr");
- }
-
- /**
- * Test boolean field.
- *
- * @throws Exception If failed.
- */
- public void testBoolean() throws Exception {
- check("fBool");
- }
-
- /**
- * Test boolean array field.
- *
- * @throws Exception If failed.
- */
- public void testBooleanArray() throws Exception {
- check("fBoolArr");
- }
-
- /**
- * Test short field.
- *
- * @throws Exception If failed.
- */
- public void testShort() throws Exception {
- check("fShort");
- }
-
- /**
- * Test short array field.
- *
- * @throws Exception If failed.
- */
- public void testShortArray() throws Exception {
- check("fShortArr");
- }
-
- /**
- * Test char field.
- *
- * @throws Exception If failed.
- */
- public void testChar() throws Exception {
- check("fChar");
- }
-
- /**
- * Test char array field.
- *
- * @throws Exception If failed.
- */
- public void testCharArray() throws Exception {
- check("fCharArr");
- }
-
- /**
- * Test int field.
- *
- * @throws Exception If failed.
- */
- public void testInt() throws Exception {
- check("fInt");
- }
-
- /**
- * Test int array field.
- *
- * @throws Exception If failed.
- */
- public void testIntArray() throws Exception {
- check("fIntArr");
- }
-
- /**
- * Test long field.
- *
- * @throws Exception If failed.
- */
- public void testLong() throws Exception {
- check("fLong");
- }
-
- /**
- * Test long array field.
- *
- * @throws Exception If failed.
- */
- public void testLongArray() throws Exception {
- check("fLongArr");
- }
-
- /**
- * Test float field.
- *
- * @throws Exception If failed.
- */
- public void testFloat() throws Exception {
- check("fFloat");
- }
-
- /**
- * Test float array field.
- *
- * @throws Exception If failed.
- */
- public void testFloatArray() throws Exception {
- check("fFloatArr");
- }
-
- /**
- * Test double field.
- *
- * @throws Exception If failed.
- */
- public void testDouble() throws Exception {
- check("fDouble");
- }
-
- /**
- * Test double array field.
- *
- * @throws Exception If failed.
- */
- public void testDoubleArray() throws Exception {
- check("fDoubleArr");
- }
-
- /**
- * Test string field.
- *
- * @throws Exception If failed.
- */
- public void testString() throws Exception {
- check("fString");
- }
-
- /**
- * Test string array field.
- *
- * @throws Exception If failed.
- */
- public void testStringArray() throws Exception {
- check("fStringArr");
- }
-
- /**
- * Test date field.
- *
- * @throws Exception If failed.
- */
- public void testDate() throws Exception {
- check("fDate");
- }
-
- /**
- * Test date array field.
- *
- * @throws Exception If failed.
- */
- public void testDateArray() throws Exception {
- check("fDateArr");
- }
-
- /**
- * Test timestamp field.
- *
- * @throws Exception If failed.
- */
- public void testTimestamp() throws Exception {
- check("fTimestamp");
- }
-
- /**
- * Test timestamp array field.
- *
- * @throws Exception If failed.
- */
- public void testTimestampArray() throws Exception {
- check("fTimestampArr");
- }
-
- /**
- * Test UUID field.
- *
- * @throws Exception If failed.
- */
- public void testUuid() throws Exception {
- check("fUuid");
- }
-
- /**
- * Test UUID array field.
- *
- * @throws Exception If failed.
- */
- public void testUuidArray() throws Exception {
- check("fUuidArr");
- }
-
- /**
- * Test decimal field.
- *
- * @throws Exception If failed.
- */
- public void testDecimal() throws Exception {
- check("fDecimal");
- }
-
- /**
- * Test decimal array field.
- *
- * @throws Exception If failed.
- */
- public void testDecimalArray() throws Exception {
- check("fDecimalArr");
- }
-
- /**
- * Test object field.
- *
- * @throws Exception If failed.
- */
- public void testObject() throws Exception {
- check("fObj");
- }
-
- /**
- * Test object array field.
- *
- * @throws Exception If failed.
- */
- public void testObjectArray() throws Exception {
- check("fObjArr");
- }
-
- /**
- * Test null field.
- *
- * @throws Exception If failed.
- */
- public void testNull() throws Exception {
- check("fNull");
- }
-
- /**
- * Test missing field.
- *
- * @throws Exception If failed.
- */
- public void testMissing() throws Exception {
- String fieldName = "fMissing";
-
- checkNormal(dfltMarsh, fieldName, false);
- checkNested(dfltMarsh, fieldName, false);
- }
-
- /**
- * Check field resolution in both normal and nested modes.
- *
- * @param fieldName Field name.
- * @throws Exception If failed.
- */
- public void check(String fieldName) throws Exception {
- checkNormal(dfltMarsh, fieldName, true);
- checkNested(dfltMarsh, fieldName, true);
- }
-
- /**
- * Check field.
- *
- * @param marsh Marshaller.
- * @param fieldName Field name.
- * @param exists Whether field should exist.
- * @throws Exception If failed.
- */
- private void checkNormal(BinaryMarshaller marsh, String fieldName, boolean exists) throws Exception {
- TestContext testCtx = context(marsh, fieldName);
-
- check0(fieldName, testCtx, exists);
- }
-
- /**
- * Check nested field.
- *
- * @param marsh Marshaller.
- * @param fieldName Field name.
- * @param exists Whether field should exist.
- * @throws Exception If failed.
- */
- private void checkNested(BinaryMarshaller marsh, String fieldName, boolean exists) throws Exception {
- TestContext testCtx = nestedContext(marsh, fieldName);
-
- check0(fieldName, testCtx, exists);
- }
-
- /**
- * Internal check routine.
- *
- * @param fieldName Field name.
- * @param ctx Context.
- * @param exists Whether field should exist.
- * @throws Exception If failed.
- */
- private void check0(String fieldName, TestContext ctx, boolean exists) throws Exception {
- Object val = ctx.field.value(ctx.portObj);
-
- if (exists) {
- assertTrue(ctx.field.exists(ctx.portObj));
-
- Object expVal = U.field(ctx.obj, fieldName);
-
- if (val instanceof BinaryObject)
- val = ((BinaryObject) val).deserialize();
-
- if (val != null && val.getClass().isArray()) {
- assertNotNull(expVal);
-
- if (val instanceof byte[])
- assertTrue(Arrays.equals((byte[]) expVal, (byte[]) val));
- else if (val instanceof boolean[])
- assertTrue(Arrays.equals((boolean[]) expVal, (boolean[]) val));
- else if (val instanceof short[])
- assertTrue(Arrays.equals((short[]) expVal, (short[]) val));
- else if (val instanceof char[])
- assertTrue(Arrays.equals((char[]) expVal, (char[]) val));
- else if (val instanceof int[])
- assertTrue(Arrays.equals((int[]) expVal, (int[]) val));
- else if (val instanceof long[])
- assertTrue(Arrays.equals((long[]) expVal, (long[]) val));
- else if (val instanceof float[])
- assertTrue(Arrays.equals((float[]) expVal, (float[]) val));
- else if (val instanceof double[])
- assertTrue(Arrays.equals((double[]) expVal, (double[]) val));
- else {
- Object[] expVal0 = (Object[])expVal;
- Object[] val0 = (Object[])val;
-
- assertEquals(expVal0.length, val0.length);
-
- for (int i = 0; i < expVal0.length; i++) {
- Object expItem = expVal0[i];
- Object item = val0[i];
-
- if (item instanceof BinaryObject)
- item = ((BinaryObject)item).deserialize();
-
- assertEquals(expItem, item);
- }
- }
- }
- else
- assertEquals(expVal, val);
- }
- else {
- assertFalse(ctx.field.exists(ctx.portObj));
-
- assert val == null;
- }
- }
-
- /**
- * Get test context.
- *
- * @param marsh Portable marshaller.
- * @param fieldName Field name.
- * @return Test context.
- * @throws Exception If failed.
- */
- private TestContext context(BinaryMarshaller marsh, String fieldName) throws Exception {
- TestObject obj = createObject();
-
- BinaryObjectExImpl portObj = toPortable(marsh, obj);
-
- BinaryField field = portObj.type().field(fieldName);
-
- return new TestContext(obj, portObj, field);
- }
-
- /**
- * Get test context with nested test object.
- *
- * @param marsh Portable marshaller.
- * @param fieldName Field name.
- * @return Test context.
- * @throws Exception If failed.
- */
- private TestContext nestedContext(BinaryMarshaller marsh, String fieldName)
- throws Exception {
- TestObject obj = createObject();
- TestOuterObject outObj = new TestOuterObject(obj);
-
- BinaryObjectExImpl portOutObj = toPortable(marsh, outObj);
- BinaryObjectExImpl portObj = portOutObj.field("fInner");
-
- assert portObj != null;
-
- BinaryField field = portObj.type().field(fieldName);
-
- return new TestContext(obj, portObj, field);
- }
-
- /**
- * Create test object.
- *
- * @return Test object.
- */
- private TestObject createObject() {
- return new TestObject(0);
- }
-
- /**
- * Convert object to portable object.
- *
- * @param marsh Marshaller.
- * @param obj Object.
- * @return Portable object.
- * @throws Exception If failed.
- */
- protected abstract BinaryObjectExImpl toPortable(BinaryMarshaller marsh, Object obj) throws Exception;
-
- /**
- * Outer test object.
- */
- @SuppressWarnings("UnusedDeclaration")
- public static class TestOuterObject {
- /** Inner object. */
- public TestObject fInner;
-
- /**
- * Default constructor.
- */
- public TestOuterObject() {
- // No-op.
- }
-
- /**
- * Constructor.
- *
- * @param fInner Inner object.
- */
- public TestOuterObject(TestObject fInner) {
- this.fInner = fInner;
- }
- }
-
- /**
- * Test object class, c
- */
- @SuppressWarnings("UnusedDeclaration")
- public static class TestObject {
- /** Primitive fields. */
- public byte fByte;
- public boolean fBool;
- public short fShort;
- public char fChar;
- public int fInt;
- public long fLong;
- public float fFloat;
- public double fDouble;
-
- public byte[] fByteArr;
- public boolean[] fBoolArr;
- public short[] fShortArr;
- public char[] fCharArr;
- public int[] fIntArr;
- public long[] fLongArr;
- public float[] fFloatArr;
- public double[] fDoubleArr;
-
- /** Special fields. */
- public String fString;
- public Date fDate;
- public Timestamp fTimestamp;
- public UUID fUuid;
- public BigDecimal fDecimal;
-
- public String[] fStringArr;
- public Date[] fDateArr;
- public Timestamp[] fTimestampArr;
- public UUID[] fUuidArr;
- public BigDecimal[] fDecimalArr;
-
- /** Nested object. */
- public TestInnerObject fObj;
-
- public TestInnerObject[] fObjArr;
-
- /** Field which is always set to null. */
- public Object fNull;
-
- /**
- * Default constructor.
- */
- public TestObject() {
- // No-op.
- }
-
- /**
- * Non-default constructor.
- *
- * @param ignore Ignored.
- */
- public TestObject(int ignore) {
- fByte = 1;
- fBool = true;
- fShort = 2;
- fChar = 3;
- fInt = 4;
- fLong = 5;
- fFloat = 6.6f;
- fDouble = 7.7;
-
- fByteArr = new byte[] { 1, 2 };
- fBoolArr = new boolean[] { true, false };
- fShortArr = new short[] { 2, 3 };
- fCharArr = new char[] { 3, 4 };
- fIntArr = new int[] { 4, 5 };
- fLongArr = new long[] { 5, 6 };
- fFloatArr = new float[] { 6.6f, 7.7f };
- fDoubleArr = new double[] { 7.7, 8.8 };
-
- fString = "8";
- fDate = new Date();
- fTimestamp = new Timestamp(new Date().getTime() + 1);
- fUuid = UUID.randomUUID();
- fDecimal = new BigDecimal(9);
-
- fStringArr = new String[] { "8", "9" };
- fDateArr = new Date[] { new Date(), new Date(new Date().getTime() + 1) };
- fTimestampArr =
- new Timestamp[] { new Timestamp(new Date().getTime() + 1), new Timestamp(new Date().getTime() + 2) };
- fUuidArr = new UUID[] { UUID.randomUUID(), UUID.randomUUID() };
- fDecimalArr = new BigDecimal[] { new BigDecimal(9), new BigDecimal(10) };
-
- fObj = new TestInnerObject(10);
- fObjArr = new TestInnerObject[] { new TestInnerObject(10), new TestInnerObject(11) };
- }
- }
-
- /**
- * Inner test object.
- */
- @SuppressWarnings("UnusedDeclaration")
- public static class TestInnerObject {
- /** Value. */
- private int val;
-
- /**
- * Default constructor.
- */
- public TestInnerObject() {
- // No-op.
- }
-
- /**
- * Constructor.
- *
- * @param val Value.
- */
- public TestInnerObject(int val) {
- this.val = val;
- }
-
- /** {@inheritDoc} */
- @Override public int hashCode() {
- return val;
- }
-
- /** {@inheritDoc} */
- @Override public boolean equals(Object other) {
- return other != null && other instanceof TestInnerObject && val == ((TestInnerObject)(other)).val;
- }
- }
-
- /**
- * Test context.
- */
- public static class TestContext {
- /** Object. */
- public final TestObject obj;
-
- /** Portable object. */
- public final BinaryObjectExImpl portObj;
-
- /** Field. */
- public final BinaryField field;
-
- /**
- * Constructor.
- *
- * @param obj Object.
- * @param portObj Portable object.
- * @param field Field.
- */
- public TestContext(TestObject obj, BinaryObjectExImpl portObj, BinaryField field) {
- this.obj = obj;
- this.portObj = portObj;
- this.field = field;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/1dbf20e0/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryFieldsHeapSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryFieldsHeapSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryFieldsHeapSelfTest.java
deleted file mode 100644
index a45809f..0000000
--- a/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryFieldsHeapSelfTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.portable;
-
-/**
- * Field tests for heap-based portables.
- */
-public class BinaryFieldsHeapSelfTest extends BinaryFieldsAbstractSelfTest {
- /** {@inheritDoc} */
- @Override protected BinaryObjectExImpl toPortable(BinaryMarshaller marsh, Object obj) throws Exception {
- byte[] bytes = marsh.marshal(obj);
-
- return new BinaryObjectImpl(portableContext(marsh), bytes, 0);
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/1dbf20e0/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryFieldsOffheapSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryFieldsOffheapSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryFieldsOffheapSelfTest.java
deleted file mode 100644
index 2f579e1..0000000
--- a/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryFieldsOffheapSelfTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.portable;
-
-import org.apache.ignite.internal.util.GridUnsafe;
-import org.eclipse.jetty.util.ConcurrentHashSet;
-import sun.misc.Unsafe;
-
-/**
- * Field tests for heap-based portables.
- */
-public class BinaryFieldsOffheapSelfTest extends BinaryFieldsAbstractSelfTest {
- /** Unsafe instance. */
- private static final Unsafe UNSAFE = GridUnsafe.unsafe();
-
- /** Byte array offset for unsafe mechanics. */
- protected static final long BYTE_ARR_OFF = UNSAFE.arrayBaseOffset(byte[].class);
-
- /** Allocated unsafe pointer. */
- private final ConcurrentHashSet<Long> ptrs = new ConcurrentHashSet<>();
-
- /** {@inheritDoc} */
- @Override protected void afterTest() throws Exception {
- super.afterTest();
-
- // Cleanup allocated objects.
- for (Long ptr : ptrs)
- UNSAFE.freeMemory(ptr);
-
- ptrs.clear();
- }
-
- /** {@inheritDoc} */
- @Override protected BinaryObjectExImpl toPortable(BinaryMarshaller marsh, Object obj) throws Exception {
- byte[] arr = marsh.marshal(obj);
-
- long ptr = UNSAFE.allocateMemory(arr.length);
-
- ptrs.add(ptr);
-
- UNSAFE.copyMemory(arr, BYTE_ARR_OFF, null, ptr, arr.length);
-
- return new BinaryObjectOffheapImpl(portableContext(marsh), ptr, 0, arr.length);
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/1dbf20e0/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryFooterOffsetsAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryFooterOffsetsAbstractSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryFooterOffsetsAbstractSelfTest.java
deleted file mode 100644
index 38c0137..0000000
--- a/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryFooterOffsetsAbstractSelfTest.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.portable;
-
-import java.util.Arrays;
-import org.apache.ignite.binary.BinaryField;
-import org.apache.ignite.binary.BinaryTypeConfiguration;
-import org.apache.ignite.configuration.BinaryConfiguration;
-import org.apache.ignite.configuration.IgniteConfiguration;
-import org.apache.ignite.internal.util.IgniteUtils;
-import org.apache.ignite.marshaller.MarshallerContextTestImpl;
-import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-
-/**
- * Contains tests for compact offsets.
- */
-public abstract class BinaryFooterOffsetsAbstractSelfTest extends GridCommonAbstractTest {
- /** 2 pow 8. */
- private static int POW_8 = 1 << 8;
-
- /** 2 pow 16. */
- private static int POW_16 = 1 << 16;
-
- /** Marshaller. */
- protected BinaryMarshaller marsh;
-
- /** Portable context. */
- protected PortableContext ctx;
-
- /** {@inheritDoc} */
- @Override protected void beforeTest() throws Exception {
- super.beforeTest();
-
- ctx = new PortableContext(BinaryCachingMetadataHandler.create(), new IgniteConfiguration());
-
- marsh = new BinaryMarshaller();
-
- IgniteConfiguration iCfg = new IgniteConfiguration();
-
- BinaryConfiguration bCfg = new BinaryConfiguration();
-
- bCfg.setTypeConfigurations(Arrays.asList(new BinaryTypeConfiguration(TestObject.class.getName())));
-
- bCfg.setCompactFooter(compactFooter());
-
- iCfg.setBinaryConfiguration(bCfg);
-
- marsh.setContext(new MarshallerContextTestImpl(null));
-
- IgniteUtils.invoke(BinaryMarshaller.class, marsh, "setPortableContext", ctx, iCfg);
- }
-
- /**
- * @return Whether to use compact footers.
- */
- protected boolean compactFooter() {
- return true;
- }
-
- /**
- * Test 1 byte.
- *
- * @throws Exception If failed.
- */
- public void test1Byte() throws Exception {
- check(POW_8 >> 2);
- }
-
- /**
- * Test 1 byte with sign altering.
- *
- * @throws Exception If failed.
- */
- public void test1ByteSign() throws Exception {
- check(POW_8 >> 1);
- }
-
- /**
- * Test 2 bytes.
- *
- * @throws Exception If failed.
- */
- public void test2Bytes() throws Exception {
- check(POW_16 >> 2);
- }
-
- /**
- * Test 2 bytes with sign altering.
- *
- * @throws Exception If failed.
- */
- public void test2BytesSign() throws Exception {
- check(POW_16 >> 1);
- }
-
- /**
- * Test 4 bytes.
- *
- * @throws Exception If failed.
- */
- public void test4Bytes() throws Exception {
- check(POW_16 << 2);
- }
-
- /**
- * Main check routine.
- *
- * @param len Length of the first field.
- *
- * @throws Exception If failed.
- */
- private void check(int len) throws Exception {
- TestObject obj = new TestObject(len);
-
- BinaryObjectExImpl portObj = toPortable(marsh, obj);
-
- // 1. Test portable object content.
- assert portObj.hasField("field1");
- assert portObj.hasField("field2");
-
- byte[] field1 = portObj.field("field1");
- Integer field2 = portObj.field("field2");
-
- assert field1 != null;
- assert field2 != null;
-
- assert Arrays.equals(obj.field1, field1);
- assert obj.field2 == field2;
-
- // 2. Test fields API.
- BinaryField field1Desc = portObj.type().field("field1");
- BinaryField field2Desc = portObj.type().field("field2");
-
- assert field1Desc.exists(portObj);
- assert field2Desc.exists(portObj);
-
- assert Arrays.equals(obj.field1, (byte[])field1Desc.value(portObj));
- assert obj.field2 == (Integer)field2Desc.value(portObj);
-
- // 3. Test deserialize.
- TestObject objRestored = portObj.deserialize();
-
- assert objRestored != null;
-
- assert Arrays.equals(obj.field1, objRestored.field1);
- assert obj.field2 == objRestored.field2;
- }
-
- /**
- * Convert object to portable object.
- *
- * @param marsh Marshaller.
- * @param obj Object.
- * @return Portable object.
- * @throws Exception If failed.
- */
- protected abstract BinaryObjectExImpl toPortable(BinaryMarshaller marsh, Object obj) throws Exception;
-
- /**
- * Test object.
- */
- public static class TestObject {
- /** First field with variable length. */
- public byte[] field1;
-
- /** Second field. */
- public int field2;
-
- /**
- * Default constructor.
- */
- public TestObject() {
- // No-op.
- }
-
- /**
- * Constructor.
- *
- * @param len Array length.
- */
- public TestObject(int len) {
- field1 = new byte[len];
-
- field1[0] = 1;
- field1[len - 1] = 2;
-
- field2 = len;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/1dbf20e0/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryFooterOffsetsHeapSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryFooterOffsetsHeapSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryFooterOffsetsHeapSelfTest.java
deleted file mode 100644
index bc48bef..0000000
--- a/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryFooterOffsetsHeapSelfTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.portable;
-
-/**
- * Compact offsets tests for heap portable objects.
- */
-public class BinaryFooterOffsetsHeapSelfTest extends BinaryFooterOffsetsAbstractSelfTest {
- /** {@inheritDoc} */
- @Override protected BinaryObjectExImpl toPortable(BinaryMarshaller marsh, Object obj) throws Exception {
- byte[] bytes = marsh.marshal(obj);
-
- return new BinaryObjectImpl(ctx, bytes, 0);
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/1dbf20e0/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryFooterOffsetsOffheapSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryFooterOffsetsOffheapSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryFooterOffsetsOffheapSelfTest.java
deleted file mode 100644
index a2c0a05..0000000
--- a/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryFooterOffsetsOffheapSelfTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.portable;
-
-import org.apache.ignite.internal.util.GridUnsafe;
-import org.eclipse.jetty.util.ConcurrentHashSet;
-import sun.misc.Unsafe;
-
-/**
- * Compact offsets tests for offheap portable objects.
- */
-public class BinaryFooterOffsetsOffheapSelfTest extends BinaryFooterOffsetsAbstractSelfTest {
- /** Unsafe instance. */
- private static final Unsafe UNSAFE = GridUnsafe.unsafe();
-
- /** Byte array offset for unsafe mechanics. */
- protected static final long BYTE_ARR_OFF = UNSAFE.arrayBaseOffset(byte[].class);
-
- /** Allocated unsafe pointer. */
- private final ConcurrentHashSet<Long> ptrs = new ConcurrentHashSet<>();
-
- /** {@inheritDoc} */
- @Override protected void afterTest() throws Exception {
- super.afterTest();
-
- // Cleanup allocated objects.
- for (Long ptr : ptrs)
- UNSAFE.freeMemory(ptr);
-
- ptrs.clear();
- }
-
- /** {@inheritDoc} */
- @Override protected BinaryObjectExImpl toPortable(BinaryMarshaller marsh, Object obj) throws Exception {
- byte[] arr = marsh.marshal(obj);
-
- long ptr = UNSAFE.allocateMemory(arr.length);
-
- ptrs.add(ptr);
-
- UNSAFE.copyMemory(arr, BYTE_ARR_OFF, null, ptr, arr.length);
-
- return new BinaryObjectOffheapImpl(ctx, ptr, 0, arr.length);
- }
-}