Rev 30 | Blame | Compare with Previous | Last modification | View Log | RSS feed
/** 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.test;// Generated codeimport java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;import java.util.List;import org.apache.thrift.TDeserializer;import org.apache.thrift.TSerializer;import org.apache.thrift.protocol.TBinaryProtocol;import thrift.test.Bonk;import thrift.test.HolyMoley;import thrift.test.Nesting;import thrift.test.OneOfEach;/****/public class IdentityTest {public static Object deepCopy(Object oldObj) throws Exception {ObjectOutputStream oos = null;ObjectInputStream ois = null;try {ByteArrayOutputStream bos =new ByteArrayOutputStream();oos = new ObjectOutputStream(bos);oos.writeObject(oldObj);oos.flush();ByteArrayInputStream bis =new ByteArrayInputStream(bos.toByteArray());ois = new ObjectInputStream(bis);return ois.readObject();} finally {oos.close();ois.close();}}public static void main(String[] args) throws Exception {TSerializer binarySerializer = new TSerializer(new TBinaryProtocol.Factory());TDeserializer binaryDeserializer = new TDeserializer(new TBinaryProtocol.Factory());OneOfEach ooe = Fixtures.oneOfEach;Nesting n = new Nesting();n.my_ooe = (OneOfEach)deepCopy(ooe);n.my_ooe.integer16 = 16;n.my_ooe.integer32 = 32;n.my_ooe.integer64 = 64;n.my_ooe.double_precision = (Math.sqrt(5)+1)/2;n.my_ooe.some_characters = ":R (me going \"rrrr\")";n.my_ooe.zomg_unicode = "\u04c0\u216e\u039d\u0020\u041d\u03bf\u217f"+"\u043e\u0261\u0433\u0430\u03c1\u210e\u0020"+"\u0391\u0074\u0074\u03b1\u217d\u03ba\u01c3"+"\u203c";n.my_bonk = Fixtures.nesting.my_bonk;HolyMoley hm = Fixtures.holyMoley;OneOfEach ooe2 = new OneOfEach();binaryDeserializer.deserialize(ooe2,binarySerializer.serialize(ooe));if (!ooe.equals(ooe2)) {throw new RuntimeException("Failure: ooe (equals)");}if (ooe.hashCode() != ooe2.hashCode()) {throw new RuntimeException("Failure: ooe (hash)");}Nesting n2 = new Nesting();binaryDeserializer.deserialize(n2,binarySerializer.serialize(n));if (!n.equals(n2)) {throw new RuntimeException("Failure: n (equals)");}if (n.hashCode() != n2.hashCode()) {throw new RuntimeException("Failure: n (hash)");}HolyMoley hm2 = new HolyMoley();binaryDeserializer.deserialize(hm2,binarySerializer.serialize(hm));if (!hm.equals(hm2)) {throw new RuntimeException("Failure: hm (equals)");}if (hm.hashCode() != hm2.hashCode()) {throw new RuntimeException("Failure: hm (hash)");}}}