You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2015/11/03 15:36:05 UTC

[2/3] ignite git commit: IGNITE-1838: Finished tests.

IGNITE-1838: Finished tests.


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/5db7b067
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/5db7b067
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/5db7b067

Branch: refs/heads/ignite-1838
Commit: 5db7b067e74cbe31e82479684381a0a77c01969b
Parents: aa8b069
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Nov 3 17:17:57 2015 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Nov 3 17:17:57 2015 +0300

----------------------------------------------------------------------
 .../internal/portable/PortableObjectImpl.java   |   4 +-
 .../portable/PortableObjectOffheapImpl.java     |   4 +-
 .../PortableFieldsAbstractSelfTest.java         | 127 +++++++++++++++----
 3 files changed, 109 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/5db7b067/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectImpl.java
index bc75b6d..cf4b8d9 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectImpl.java
@@ -276,9 +276,9 @@ public final class PortableObjectImpl extends PortableObjectEx implements Extern
         int fieldPos;
 
         if (fieldOffsetSize == PortableUtils.OFFSET_1)
-            fieldPos = start + (int)PortablePrimitives.readByte(arr, fieldOffsetPos) & 0xFF;
+            fieldPos = start + ((int)PortablePrimitives.readByte(arr, fieldOffsetPos) & 0xFF);
         else if (fieldOffsetSize == PortableUtils.OFFSET_2)
-            fieldPos = start + (int)PortablePrimitives.readShort(arr, fieldOffsetPos) & 0xFFFF;
+            fieldPos = start + ((int)PortablePrimitives.readShort(arr, fieldOffsetPos) & 0xFFFF);
         else
             fieldPos = start + PortablePrimitives.readInt(arr, fieldOffsetPos);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/5db7b067/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectOffheapImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectOffheapImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectOffheapImpl.java
index bb79b74..f12c4fd 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectOffheapImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectOffheapImpl.java
@@ -218,9 +218,9 @@ public class PortableObjectOffheapImpl extends PortableObjectEx implements Exter
         int fieldPos;
 
         if (fieldOffsetSize == PortableUtils.OFFSET_1)
-            fieldPos = start + (int)PortablePrimitives.readByte(ptr, fieldOffsetPos) & 0xFF;
+            fieldPos = start + ((int)PortablePrimitives.readByte(ptr, fieldOffsetPos) & 0xFF);
         else if (fieldOffsetSize == PortableUtils.OFFSET_2)
-            fieldPos = start + (int)PortablePrimitives.readShort(ptr, fieldOffsetPos) & 0xFFFF;
+            fieldPos = start + ((int)PortablePrimitives.readShort(ptr, fieldOffsetPos) & 0xFFFF);
         else
             fieldPos = start + PortablePrimitives.readInt(ptr, fieldOffsetPos);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/5db7b067/modules/core/src/test/java/org/apache/ignite/internal/portable/PortableFieldsAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/portable/PortableFieldsAbstractSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/portable/PortableFieldsAbstractSelfTest.java
index 4af5332..2acc1f5 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/portable/PortableFieldsAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/portable/PortableFieldsAbstractSelfTest.java
@@ -33,9 +33,6 @@ import java.util.Arrays;
 import java.util.Date;
 import java.util.UUID;
 
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertTrue;
-
 /**
  * Contains tests for portable object fields.
  */
@@ -230,6 +227,15 @@ public abstract class PortableFieldsAbstractSelfTest extends GridCommonAbstractT
     }
 
     /**
+     * Test string array field.
+     *
+     * @throws Exception If failed.
+     */
+    public void testStringArray() throws Exception {
+        check("fStringArr");
+    }
+
+    /**
      * Test date field.
      *
      * @throws Exception If failed.
@@ -239,6 +245,15 @@ public abstract class PortableFieldsAbstractSelfTest extends GridCommonAbstractT
     }
 
     /**
+     * Test date array field.
+     *
+     * @throws Exception If failed.
+     */
+    public void testDateArray() throws Exception {
+        check("fDateArr");
+    }
+
+    /**
      * Test timestamp field.
      *
      * @throws Exception If failed.
@@ -248,6 +263,15 @@ public abstract class PortableFieldsAbstractSelfTest extends GridCommonAbstractT
     }
 
     /**
+     * Test timestamp array field.
+     *
+     * @throws Exception If failed.
+     */
+    public void testTimestampArray() throws Exception {
+        check("fTimestampArr");
+    }
+
+    /**
      * Test UUID field.
      *
      * @throws Exception If failed.
@@ -257,6 +281,15 @@ public abstract class PortableFieldsAbstractSelfTest extends GridCommonAbstractT
     }
 
     /**
+     * Test UUID array field.
+     *
+     * @throws Exception If failed.
+     */
+    public void testUuidArray() throws Exception {
+        check("fUuidArr");
+    }
+
+    /**
      * Test decimal field.
      *
      * @throws Exception If failed.
@@ -266,6 +299,15 @@ public abstract class PortableFieldsAbstractSelfTest extends GridCommonAbstractT
     }
 
     /**
+     * Test decimal array field.
+     *
+     * @throws Exception If failed.
+     */
+    public void testDecimalArray() throws Exception {
+        check("fDecimalArr");
+    }
+
+    /**
      * Test object field.
      *
      * @throws Exception If failed.
@@ -275,6 +317,15 @@ public abstract class PortableFieldsAbstractSelfTest extends GridCommonAbstractT
     }
 
     /**
+     * Test object array field.
+     *
+     * @throws Exception If failed.
+     */
+    public void testObjectArray() throws Exception {
+        check("fObjArr");
+    }
+
+    /**
      * Test null field.
      *
      * @throws Exception If failed.
@@ -352,6 +403,8 @@ public abstract class PortableFieldsAbstractSelfTest extends GridCommonAbstractT
                 val = ((PortableObject) 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[])
@@ -368,8 +421,22 @@ public abstract class PortableFieldsAbstractSelfTest extends GridCommonAbstractT
                     assertTrue(Arrays.equals((float[]) expVal, (float[]) val));
                 else if (val instanceof double[])
                     assertTrue(Arrays.equals((double[]) expVal, (double[]) val));
-                else
-                    assertTrue(Arrays.equals((Object[]) expVal, (Object[]) 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 PortableObject)
+                            item = ((PortableObject)item).deserialize();
+
+                        assertEquals(expItem, item);
+                    }
+                }
             }
             else
                 assertEquals(expVal, val);
@@ -478,14 +545,14 @@ public abstract class PortableFieldsAbstractSelfTest extends GridCommonAbstractT
         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;
+        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;
@@ -494,9 +561,17 @@ public abstract class PortableFieldsAbstractSelfTest extends GridCommonAbstractT
         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;
 
@@ -522,22 +597,30 @@ public abstract class PortableFieldsAbstractSelfTest extends GridCommonAbstractT
             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 };
+            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() + 100);
+            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) };
         }
     }