Search in sources :

Example 36 with ObjectOutput

use of org.apache.dubbo.common.serialize.ObjectOutput in project dubbo by alibaba.

the class AbstractSerializationTest method test_boolArray.

@Test
public void test_boolArray() throws Exception {
    boolean[] data = new boolean[] { true, false, true };
    ObjectOutput objectOutput = serialization.serialize(url, byteArrayOutputStream);
    objectOutput.writeObject(data);
    objectOutput.flushBuffer();
    ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
    ObjectInput deserialize = serialization.deserialize(url, byteArrayInputStream);
    assertTrue(Arrays.equals(data, (boolean[]) deserialize.readObject()));
    try {
        deserialize.readObject();
        fail();
    } catch (IOException expected) {
    }
}
Also used : ObjectOutput(org.apache.dubbo.common.serialize.ObjectOutput) ByteArrayInputStream(java.io.ByteArrayInputStream) ObjectInput(org.apache.dubbo.common.serialize.ObjectInput) IOException(java.io.IOException) Test(org.junit.jupiter.api.Test)

Example 37 with ObjectOutput

use of org.apache.dubbo.common.serialize.ObjectOutput in project dubbo by alibaba.

the class AbstractSerializationTest method test_charArray_withType.

@Test
public void test_charArray_withType() throws Exception {
    char[] data = new char[] { 'a', '中', '无' };
    ObjectOutput objectOutput = serialization.serialize(url, byteArrayOutputStream);
    objectOutput.writeObject(data);
    objectOutput.flushBuffer();
    ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
    ObjectInput deserialize = serialization.deserialize(url, byteArrayInputStream);
    assertArrayEquals(data, (char[]) deserialize.readObject(char[].class));
    try {
        deserialize.readObject(char[].class);
        fail();
    } catch (IOException expected) {
    }
}
Also used : ObjectOutput(org.apache.dubbo.common.serialize.ObjectOutput) ByteArrayInputStream(java.io.ByteArrayInputStream) ObjectInput(org.apache.dubbo.common.serialize.ObjectInput) IOException(java.io.IOException) Test(org.junit.jupiter.api.Test)

Example 38 with ObjectOutput

use of org.apache.dubbo.common.serialize.ObjectOutput in project dubbo by alibaba.

the class AbstractSerializationTest method test_intArray_withType.

@Test
public void test_intArray_withType() throws Exception {
    int[] data = new int[] { 234, 0, -1 };
    ObjectOutput objectOutput = serialization.serialize(url, byteArrayOutputStream);
    objectOutput.writeObject(data);
    objectOutput.flushBuffer();
    ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
    ObjectInput deserialize = serialization.deserialize(url, byteArrayInputStream);
    assertArrayEquals(data, (int[]) deserialize.readObject(int[].class));
    try {
        deserialize.readObject(int[].class);
        fail();
    } catch (IOException expected) {
    }
}
Also used : ObjectOutput(org.apache.dubbo.common.serialize.ObjectOutput) ByteArrayInputStream(java.io.ByteArrayInputStream) ObjectInput(org.apache.dubbo.common.serialize.ObjectInput) IOException(java.io.IOException) Test(org.junit.jupiter.api.Test)

Example 39 with ObjectOutput

use of org.apache.dubbo.common.serialize.ObjectOutput in project dubbo by alibaba.

the class FstSerializationTest method testSerialize.

@Test
public void testSerialize() throws IOException {
    ObjectOutput objectOutput = fstSerialization.serialize(null, mock(OutputStream.class));
    assertThat(objectOutput, Matchers.<ObjectOutput>instanceOf(FstObjectOutput.class));
}
Also used : ObjectOutput(org.apache.dubbo.common.serialize.ObjectOutput) OutputStream(java.io.OutputStream) Test(org.junit.jupiter.api.Test)

Example 40 with ObjectOutput

use of org.apache.dubbo.common.serialize.ObjectOutput in project dubbo by alibaba.

the class Hessian2SerializationTest method test_intArray_withType.

@Test
public void test_intArray_withType() throws Exception {
    int[] data = new int[] { 234, 0, -1 };
    ObjectOutput objectOutput = serialization.serialize(url, byteArrayOutputStream);
    objectOutput.writeObject(data);
    objectOutput.flushBuffer();
    ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
    ObjectInput deserialize = serialization.deserialize(url, byteArrayInputStream);
    assertArrayEquals(data, (int[]) deserialize.readObject());
    try {
        deserialize.readObject(int[].class);
        fail();
    } catch (ArrayIndexOutOfBoundsException e) {
    }
// NOTE: Hessian2 throws ArrayIndexOutOfBoundsException instead of IOException, let's live with this.
}
Also used : ObjectOutput(org.apache.dubbo.common.serialize.ObjectOutput) ByteArrayInputStream(java.io.ByteArrayInputStream) ObjectInput(org.apache.dubbo.common.serialize.ObjectInput) Test(org.junit.jupiter.api.Test) AbstractSerializationPersonFailTest(org.apache.dubbo.common.serialize.base.AbstractSerializationPersonFailTest)

Aggregations

ObjectOutput (org.apache.dubbo.common.serialize.ObjectOutput)256 Test (org.junit.jupiter.api.Test)224 ByteArrayInputStream (java.io.ByteArrayInputStream)203 ObjectInput (org.apache.dubbo.common.serialize.ObjectInput)203 IOException (java.io.IOException)122 NotSerializableException (java.io.NotSerializableException)21 Person (org.apache.dubbo.common.serialize.model.Person)21 OutputStream (java.io.OutputStream)16 HashMap (java.util.HashMap)14 AbstractSerializationPersonFailTest (org.apache.dubbo.common.serialize.base.AbstractSerializationPersonFailTest)14 AbstractSerializationPersonOkTest (org.apache.dubbo.common.serialize.base.AbstractSerializationPersonOkTest)14 Serialization (org.apache.dubbo.common.serialize.Serialization)10 ByteArrayOutputStream (java.io.ByteArrayOutputStream)8 UnsafeByteArrayOutputStream (org.apache.dubbo.common.io.UnsafeByteArrayOutputStream)8 BigPerson (org.apache.dubbo.common.serialize.model.person.BigPerson)8 ArrayList (java.util.ArrayList)6 Cleanable (org.apache.dubbo.common.serialize.Cleanable)6 BizException (org.apache.dubbo.common.serialize.model.BizException)6 BizExceptionNoDefaultConstructor (org.apache.dubbo.common.serialize.model.BizExceptionNoDefaultConstructor)6 ChannelBufferOutputStream (org.apache.dubbo.remoting.buffer.ChannelBufferOutputStream)6