You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ac...@apache.org on 2013/02/25 23:29:12 UTC

svn commit: r1449940 - in /qpid/proton/trunk: proton-c/bindings/java/src/main/java/org/apache/qpid/proton/ proton-c/bindings/java/src/main/java/org/apache/qpid/proton/codec/jni/ tests/java/org/apache/qpid/proton/

Author: aconway
Date: Mon Feb 25 22:29:12 2013
New Revision: 1449940

URL: http://svn.apache.org/r1449940
Log:
PROTON-215: Add type coverage to Java InteropTest.

Covers all types except:
- described types, described arrays: not yet done
- empty array: throws NPE, possible bug in the decoder.

Modified:
    qpid/proton/trunk/proton-c/bindings/java/src/main/java/org/apache/qpid/proton/TestDecoder.java
    qpid/proton/trunk/proton-c/bindings/java/src/main/java/org/apache/qpid/proton/codec/jni/JNIData.java
    qpid/proton/trunk/tests/java/org/apache/qpid/proton/InteropTest.java

Modified: qpid/proton/trunk/proton-c/bindings/java/src/main/java/org/apache/qpid/proton/TestDecoder.java
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/bindings/java/src/main/java/org/apache/qpid/proton/TestDecoder.java?rev=1449940&r1=1449939&r2=1449940&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/bindings/java/src/main/java/org/apache/qpid/proton/TestDecoder.java (original)
+++ qpid/proton/trunk/proton-c/bindings/java/src/main/java/org/apache/qpid/proton/TestDecoder.java Mon Feb 25 22:29:12 2013
@@ -83,16 +83,9 @@ public class TestDecoder {
     public String readString() { data.next(); return data.getString(); }
 
     // FIXME aconway 2013-02-16:
-    // public List readList() { data.next(); return data.getList(); }
-    // public Map readMap() { data.next(); return data.getMap(); }
-    // public Object[] readArray() { data.next(); return data.getArray(); }
-    // public boolean[] readBooleanArray() { data.next(); return data.getBooleanArray(); }
-    // public byte[] readByteArray() { data.next(); return data.getByteArray(); }
-    // public short[] readShortArray() { data.next(); return data.getShortArray(); }
-    // public int[] readIntegerArray() { data.next(); return data.getIntegerArray(); }
-    // public long[] readLongArray() { data.next(); return data.getLongArray(); }
-    // public float[] readFloatArray() { data.next(); return data.getFloatArray(); }
-    // public double[] readDoubleArray() { data.next(); return data.getDoubleArray(); }
-    // public char[] readCharacterArray() { data.next(); return data.getCharacterArray(); }
-    // public Object readObject() { data.next(); return data.getObject(); }
+    public List readList() { data.next(); return data.getJavaList(); }
+    public Object[] readArray() { data.next(); return data.getJavaArray(); }
+    public Map<Object, Object> readMap() { data.next(); return data.getJavaMap(); }
+
+     public Object readObject() { data.next(); return data.getObject(); }
 }

Modified: qpid/proton/trunk/proton-c/bindings/java/src/main/java/org/apache/qpid/proton/codec/jni/JNIData.java
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/bindings/java/src/main/java/org/apache/qpid/proton/codec/jni/JNIData.java?rev=1449940&r1=1449939&r2=1449940&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/bindings/java/src/main/java/org/apache/qpid/proton/codec/jni/JNIData.java (original)
+++ qpid/proton/trunk/proton-c/bindings/java/src/main/java/org/apache/qpid/proton/codec/jni/JNIData.java Mon Feb 25 22:29:12 2013
@@ -971,11 +971,9 @@ public class JNIData implements Data
         enter();
         for(int i = 0; i < count; i+=2)
         {
-            next();
-            Object key = getObject();
-
+            Object key = next() != null ? getObject() : null;
             Object value = next() != null ? getObject() : null;
-
+	    map.put(key, value);
         }
         exit();
         return map;

Modified: qpid/proton/trunk/tests/java/org/apache/qpid/proton/InteropTest.java
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/tests/java/org/apache/qpid/proton/InteropTest.java?rev=1449940&r1=1449939&r2=1449940&view=diff
==============================================================================
--- qpid/proton/trunk/tests/java/org/apache/qpid/proton/InteropTest.java (original)
+++ qpid/proton/trunk/tests/java/org/apache/qpid/proton/InteropTest.java Mon Feb 25 22:29:12 2013
@@ -82,7 +82,15 @@ public class InteropTest {
     }
 
     @Test
-    public void test_primitives() throws IOException {
+    public void testMessage() throws IOException {
+	Message m = decodeMessage("message");
+	Binary b = (Binary)(((AmqpValue)m.getBody()).getValue());
+	String s = createDecoder(b.getArray()).readString();
+	assertEquals("hello", s);
+    }
+
+    @Test
+    public void testPrimitives() throws IOException {
 	TestDecoder d = createDecoder(getBytes("primitives"));
 	assertEquals(true, d.readBoolean());
 	assertEquals(false, d.readBoolean());
@@ -98,7 +106,7 @@ public class InteropTest {
     }
 
     @Test
-    public void test_strings() throws IOException {
+    public void testStrings() throws IOException {
 	TestDecoder d = createDecoder(getBytes("strings"));
 	assertEquals(new Binary("abc\0defg".getBytes("UTF-8")), d.readBinary());
 	assertEquals("abcdefg", d.readString());
@@ -109,17 +117,17 @@ public class InteropTest {
     }
 
     @Test
-    public void test_described() throws IOException {
+    public void testDescribed() throws IOException {
 	// FIXME aconway 2013-02-18: TODO
     }
 
     @Test
-    public void test_described_array() throws IOException {
+    public void testDescribedArray() throws IOException {
 	// FIXME aconway 2013-02-18: TODO
     }
 
     @Test
-    public void test_arrays() throws IOException {
+    public void testArrays() throws IOException {
         TestDecoder d = createDecoder(getBytes("arrays"));
 
 	Vector<Integer> ints = new Vector<Integer>();
@@ -134,7 +142,7 @@ public class InteropTest {
     }
 
     @Test
-    public void test_lists() throws IOException {
+    public void testLists() throws IOException {
         TestDecoder d = createDecoder(getBytes("lists"));
 	List<Object> l = new ArrayList<Object>() {{
 	    add(new Integer(32));
@@ -147,7 +155,7 @@ public class InteropTest {
     }
 
     @Test
-    public void test_maps() throws IOException {
+    public void testMaps() throws IOException {
         TestDecoder d = createDecoder(getBytes("maps"));
 	Map map = new HashMap() {{
 	    put("one", 1);
@@ -155,8 +163,15 @@ public class InteropTest {
 	    put("three", 3);
 	}};
 	assertEquals(map, d.readMap());
-	// FIXME aconway 2013-02-18: todo
+
+	map = new HashMap() {{
+	    put(1, "one");
+	    put(2, "two");
+	    put(3, "three");
+	}};
+	assertEquals(map, d.readMap());
+
+	map = new HashMap();
+	assertEquals(map, d.readMap());
     }
-    // FIXME aconway 2013-02-15: add tests for all fragments generated by
-    // interop-generate
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org