MCPcopy Create free account
hub / github.com/apache/thrift / TestStruct

Class TestStruct

lib/java/src/test/java/org/apache/thrift/TestStruct.java:56–430  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

54import thrift.test.Xtruct;
55
56public class TestStruct {
57 @Test
58 public void testIdentity() throws Exception {
59 TSerializer binarySerializer = new TSerializer(new TBinaryProtocol.Factory());
60 TDeserializer binaryDeserializer = new TDeserializer(new TBinaryProtocol.Factory());
61
62 OneOfEach ooe = Fixtures.getOneOfEach();
63
64 Nesting n = new Nesting();
65 n.my_ooe = ooe;
66 n.my_ooe.integer16 = 16;
67 n.my_ooe.integer32 = 32;
68 n.my_ooe.integer64 = 64;
69 n.my_ooe.double_precision = (Math.sqrt(5) + 1) / 2;
70 n.my_ooe.some_characters = ":R (me going \"rrrr\")";
71 n.my_ooe.zomg_unicode =
72 "\u04c0\u216e\u039d\u0020\u041d\u03bf\u217f"
73 + "\u043e\u0261\u0433\u0430\u03c1\u210e\u0020"
74 + "\u0391\u0074\u0074\u03b1\u217d\u03ba\u01c3"
75 + "\u203c";
76 n.my_bonk = Fixtures.getNesting().my_bonk;
77
78 HolyMoley hm = Fixtures.getHolyMoley();
79
80 OneOfEach ooe2 = new OneOfEach();
81 binaryDeserializer.deserialize(ooe2, binarySerializer.serialize(ooe));
82
83 assertEquals(ooe, ooe2);
84 assertEquals(ooe.hashCode(), ooe2.hashCode());
85
86 Nesting n2 = new Nesting();
87 binaryDeserializer.deserialize(n2, binarySerializer.serialize(n));
88
89 assertEquals(n, n2);
90 assertEquals(n.hashCode(), n2.hashCode());
91
92 HolyMoley hm2 = new HolyMoley();
93 binaryDeserializer.deserialize(hm2, binarySerializer.serialize(hm));
94
95 assertEquals(hm, hm2);
96 assertEquals(hm.hashCode(), hm2.hashCode());
97 }
98
99 @Test
100 public void testDeepCopy() throws Exception {
101 TSerializer binarySerializer = new TSerializer(new TBinaryProtocol.Factory());
102 TDeserializer binaryDeserializer = new TDeserializer(new TBinaryProtocol.Factory());
103
104 HolyMoley hm = Fixtures.getHolyMoley();
105
106 byte[] binaryCopy = binarySerializer.serialize(hm);
107 HolyMoley hmCopy = new HolyMoley();
108 binaryDeserializer.deserialize(hmCopy, binaryCopy);
109 HolyMoley hmCopy2 = new HolyMoley(hm);
110
111 assertEquals(hm, hmCopy);
112 assertEquals(hmCopy, hmCopy2);
113

Calls

no outgoing calls