Author: bryanduxbury
Date: Fri Mar 26 16:59:46 2010
New Revision: 927967
URL: http://svn.apache.org/viewvc?rev=927967&view=rev
Log:
java: Convert TJSONProtocol test to JUnit, making a few minor changes to
ProtocolTestBase in the process.
Added:
incubator/thrift/trunk/lib/java/test/org/apache/thrift/protocol/TestTJSONProtocol.java
Removed:
incubator/thrift/trunk/lib/java/test/org/apache/thrift/test/JSONProtoTest.java
Modified:
incubator/thrift/trunk/lib/java/build.xml
incubator/thrift/trunk/lib/java/src/org/apache/thrift/protocol/TMessage.java
incubator/thrift/trunk/lib/java/test/org/apache/thrift/protocol/ProtocolTestBase.java
incubator/thrift/trunk/lib/java/test/org/apache/thrift/protocol/TestTBinaryProtocol.java
incubator/thrift/trunk/lib/java/test/org/apache/thrift/protocol/TestTCompactProtocol.java
Modified: incubator/thrift/trunk/lib/java/build.xml
URL:
http://svn.apache.org/viewvc/incubator/thrift/trunk/lib/java/build.xml?rev=927967&r1=927966&r2=927967&view=diff
==============================================================================
--- incubator/thrift/trunk/lib/java/build.xml (original)
+++ incubator/thrift/trunk/lib/java/build.xml Fri Mar 26 16:59:46 2010
@@ -191,8 +191,6 @@
</target>
<target name="deprecated-test" description="Run the non-JUnit test suite"
depends="compile-test">
- <java classname="org.apache.thrift.test.JSONProtoTest"
- classpathref="test.classpath" failonerror="true" />
<java classname="org.apache.thrift.test.IdentityTest"
classpathref="test.classpath" failonerror="true" />
<java classname="org.apache.thrift.test.EqualityTest"
Modified:
incubator/thrift/trunk/lib/java/src/org/apache/thrift/protocol/TMessage.java
URL:
http://svn.apache.org/viewvc/incubator/thrift/trunk/lib/java/src/org/apache/thrift/protocol/TMessage.java?rev=927967&r1=927966&r2=927967&view=diff
==============================================================================
---
incubator/thrift/trunk/lib/java/src/org/apache/thrift/protocol/TMessage.java
(original)
+++
incubator/thrift/trunk/lib/java/src/org/apache/thrift/protocol/TMessage.java
Fri Mar 26 16:59:46 2010
@@ -38,10 +38,12 @@ public final class TMessage {
public final byte type;
public final int seqid;
+ @Override
public String toString() {
return "<TMessage name:'" + name + "' type: " + type + " seqid:" + seqid +
">";
}
+ @Override
public boolean equals(Object other) {
if (other instanceof TMessage) {
return equals((TMessage) other);
Modified:
incubator/thrift/trunk/lib/java/test/org/apache/thrift/protocol/ProtocolTestBase.java
URL:
http://svn.apache.org/viewvc/incubator/thrift/trunk/lib/java/test/org/apache/thrift/protocol/ProtocolTestBase.java?rev=927967&r1=927966&r2=927967&view=diff
==============================================================================
---
incubator/thrift/trunk/lib/java/test/org/apache/thrift/protocol/ProtocolTestBase.java
(original)
+++
incubator/thrift/trunk/lib/java/test/org/apache/thrift/protocol/ProtocolTestBase.java
Fri Mar 26 16:59:46 2010
@@ -38,30 +38,42 @@ import thrift.test.Srv;
public abstract class ProtocolTestBase extends TestCase {
+ protected abstract boolean canBeUsedNaked();
+
protected abstract TProtocolFactory getFactory();
public void testProtocol() throws Exception {
- internalTestNakedByte();
+ if (canBeUsedNaked()) {
+ internalTestNakedByte();
+ }
for (int i = 0; i < 128; i++) {
internalTestByteField((byte)i);
internalTestByteField((byte)-i);
}
for (int s : Arrays.asList(0, 1, 7, 150, 15000, 0x7fff, -1, -7, -150,
-15000, -0x7fff)) {
- internalTestNakedI16((short)s);
+ if (canBeUsedNaked()) {
+ internalTestNakedI16((short)s);
+ }
internalTestI16Field((short)s);
}
for (int i : Arrays.asList(0, 1, 7, 150, 15000, 31337, 0xffff, 0xffffff,
-1, -7, -150, -15000, -0xffff, -0xffffff)) {
- internalTestNakedI32(i);
+ if (canBeUsedNaked()) {
+ internalTestNakedI32(i);
+ }
internalTestI32Field(i);
}
- internalTestNakedI64(0);
+ if (canBeUsedNaked()) {
+ internalTestNakedI64(0);
+ }
internalTestI64Field(0);
for (int i = 0; i < 62; i++) {
- internalTestNakedI64(1L << i);
- internalTestNakedI64(-(1L << i));
+ if (canBeUsedNaked()) {
+ internalTestNakedI64(1L << i);
+ internalTestNakedI64(-(1L << i));
+ }
internalTestI64Field(1L << i);
internalTestI64Field(-(1L << i));
}
@@ -69,12 +81,16 @@ public abstract class ProtocolTestBase e
internalTestDouble();
for (String s : Arrays.asList("", "short", "borderlinetiny", "a bit longer
than the smallest possible")) {
- internalTestNakedString(s);
+ if (canBeUsedNaked()) {
+ internalTestNakedString(s);
+ }
internalTestStringField(s);
}
for (byte[] b : Arrays.asList(new byte[0], new
byte[]{0,1,2,3,4,5,6,7,8,9,10}, new byte[]{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14},
new byte[128])) {
- internalTestNakedBinary(b);
+ if (canBeUsedNaked()) {
+ internalTestNakedBinary(b);
+ }
internalTestBinaryField(b);
}
@@ -91,7 +107,7 @@ public abstract class ProtocolTestBase e
}
private void internalTestNakedByte() throws Exception {
- TMemoryBuffer buf = new TMemoryBuffer(0);
+ TMemoryBuffer buf = new TMemoryBuffer(1000);
TProtocol proto = getFactory().getProtocol(buf);
proto.writeByte((byte)123);
assertEquals((byte) 123, proto.readByte());
@@ -167,10 +183,24 @@ public abstract class ProtocolTestBase e
}
private void internalTestDouble() throws Exception {
- TMemoryBuffer buf = new TMemoryBuffer(1000);
- TProtocol proto = getFactory().getProtocol(buf);
- proto.writeDouble(123.456);
- assertEquals(123.456, proto.readDouble());
+ if (canBeUsedNaked()) {
+ TMemoryBuffer buf = new TMemoryBuffer(1000);
+ TProtocol proto = getFactory().getProtocol(buf);
+ proto.writeDouble(123.456);
+ assertEquals(123.456, proto.readDouble());
+ }
+
+ internalTestStructField(new StructFieldTestCase(TType.DOUBLE, (short)15) {
+ @Override
+ public void readMethod(TProtocol proto) throws TException {
+ assertEquals(123.456, proto.readDouble());
+ }
+
+ @Override
+ public void writeMethod(TProtocol proto) throws TException {
+ proto.writeDouble(123.456);
+ }
+ });
}
private void internalTestNakedString(String str) throws Exception {
Modified:
incubator/thrift/trunk/lib/java/test/org/apache/thrift/protocol/TestTBinaryProtocol.java
URL:
http://svn.apache.org/viewvc/incubator/thrift/trunk/lib/java/test/org/apache/thrift/protocol/TestTBinaryProtocol.java?rev=927967&r1=927966&r2=927967&view=diff
==============================================================================
---
incubator/thrift/trunk/lib/java/test/org/apache/thrift/protocol/TestTBinaryProtocol.java
(original)
+++
incubator/thrift/trunk/lib/java/test/org/apache/thrift/protocol/TestTBinaryProtocol.java
Fri Mar 26 16:59:46 2010
@@ -6,4 +6,9 @@ public class TestTBinaryProtocol extends
protected TProtocolFactory getFactory() {
return new TBinaryProtocol.Factory();
}
+
+ @Override
+ protected boolean canBeUsedNaked() {
+ return true;
+ }
}
Modified:
incubator/thrift/trunk/lib/java/test/org/apache/thrift/protocol/TestTCompactProtocol.java
URL:
http://svn.apache.org/viewvc/incubator/thrift/trunk/lib/java/test/org/apache/thrift/protocol/TestTCompactProtocol.java?rev=927967&r1=927966&r2=927967&view=diff
==============================================================================
---
incubator/thrift/trunk/lib/java/test/org/apache/thrift/protocol/TestTCompactProtocol.java
(original)
+++
incubator/thrift/trunk/lib/java/test/org/apache/thrift/protocol/TestTCompactProtocol.java
Fri Mar 26 16:59:46 2010
@@ -28,4 +28,9 @@ public class TestTCompactProtocol extend
protected TProtocolFactory getFactory() {
return new TCompactProtocol.Factory();
}
+
+ @Override
+ protected boolean canBeUsedNaked() {
+ return true;
+ }
}
\ No newline at end of file
Added:
incubator/thrift/trunk/lib/java/test/org/apache/thrift/protocol/TestTJSONProtocol.java
URL:
http://svn.apache.org/viewvc/incubator/thrift/trunk/lib/java/test/org/apache/thrift/protocol/TestTJSONProtocol.java?rev=927967&view=auto
==============================================================================
---
incubator/thrift/trunk/lib/java/test/org/apache/thrift/protocol/TestTJSONProtocol.java
(added)
+++
incubator/thrift/trunk/lib/java/test/org/apache/thrift/protocol/TestTJSONProtocol.java
Fri Mar 26 16:59:46 2010
@@ -0,0 +1,31 @@
+/*
+ * 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.thrift.protocol;
+
+public class TestTJSONProtocol extends ProtocolTestBase {
+ @Override
+ protected TProtocolFactory getFactory() {
+ return new TJSONProtocol.Factory();
+ }
+
+ @Override
+ protected boolean canBeUsedNaked() {
+ return false;
+ }
+}