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.*//*This program was generated by the following Python script:#!/usr/bin/python2.5# Remove this when Python 2.6 hits the streets.from __future__ import with_statementimport sysimport os.path# Quines the easy way.with open(sys.argv[0], 'r') as handle:source = handle.read()with open(os.path.join(os.path.dirname(sys.argv[0]), 'EqualityTest.java'), 'w') as out:print >> out, ("/""*" r"""* 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.""" "*""/")print >> outprint >> out, "/""*"print >> out, "This program was generated by the following Python script:"print >> outout.write(source)print >> out, "*""/"print >> out, r'''package org.apache.thrift.test;// Generated codeimport thrift.test.*;/'''r'''***'''r'''/public class EqualityTest {public static void main(String[] args) throws Exception {JavaTestHelper lhs, rhs;'''vals = {'int': ("1", "2"),'obj': ("\"foo\"", "\"bar\""),'bin': ("new byte[]{1,2}", "new byte[]{3,4}"),}matrix = ((False,False),(False,True ),(True ,False),(True ,True ),)for type in ('int', 'obj', 'bin'):for option in ('req', 'opt'):nulls = matrix[0:1] if type == 'int' else matrix[-1::-1]issets = matrixfor is_null in nulls:for is_set in issets:# isset is implied for non-primitives, so only consider the case# where isset and non-null match.if type != 'int' and list(is_set) != [ not null for null in is_null ]:continuefor equal in (True, False):print >> outprint >> out, " lhs = new JavaTestHelper();"print >> out, " rhs = new JavaTestHelper();"print >> out, " lhs." + option + "_" + type, "=", vals[type][0] + ";"print >> out, " rhs." + option + "_" + type, "=", vals[type][0 if equal else 1] + ";"isset_setter = "set" + option[0].upper() + option[1:] + "_" + type + "IsSet"if (type == 'int' and is_set[0]): print >> out, " lhs." + isset_setter + "(true);"if (type == 'int' and is_set[1]): print >> out, " rhs." + isset_setter + "(true);"if (is_null[0]): print >> out, " lhs." + option + "_" + type, "= null;"if (is_null[1]): print >> out, " rhs." + option + "_" + type, "= null;"this_present = not is_null[0] and (option == 'req' or is_set[0])that_present = not is_null[1] and (option == 'req' or is_set[1])print >> out, " // this_present = " + repr(this_present)print >> out, " // that_present = " + repr(that_present)is_equal = \(not this_present and not that_present) or \(this_present and that_present and equal)eq_str = 'true' if is_equal else 'false'print >> out, " if (lhs.equals(rhs) != "+eq_str+")"print >> out, " throw new RuntimeException(\"Failure\");"if is_equal:print >> out, " if (lhs.hashCode() != rhs.hashCode())"print >> out, " throw new RuntimeException(\"Failure\");"print >> out, r'''}}'''*/package org.apache.thrift.test;// Generated codeimport thrift.test.*;/***/public class EqualityTest {public static void main(String[] args) throws Exception {JavaTestHelper lhs, rhs;lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.req_int = 1;rhs.req_int = 1;// this_present = True// that_present = Trueif (lhs.equals(rhs) != true)throw new RuntimeException("Failure");if (lhs.hashCode() != rhs.hashCode())throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.req_int = 1;rhs.req_int = 2;// this_present = True// that_present = Trueif (lhs.equals(rhs) != false)throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.req_int = 1;rhs.req_int = 1;rhs.setReq_intIsSet(true);// this_present = True// that_present = Trueif (lhs.equals(rhs) != true)throw new RuntimeException("Failure");if (lhs.hashCode() != rhs.hashCode())throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.req_int = 1;rhs.req_int = 2;rhs.setReq_intIsSet(true);// this_present = True// that_present = Trueif (lhs.equals(rhs) != false)throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.req_int = 1;rhs.req_int = 1;lhs.setReq_intIsSet(true);// this_present = True// that_present = Trueif (lhs.equals(rhs) != true)throw new RuntimeException("Failure");if (lhs.hashCode() != rhs.hashCode())throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.req_int = 1;rhs.req_int = 2;lhs.setReq_intIsSet(true);// this_present = True// that_present = Trueif (lhs.equals(rhs) != false)throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.req_int = 1;rhs.req_int = 1;lhs.setReq_intIsSet(true);rhs.setReq_intIsSet(true);// this_present = True// that_present = Trueif (lhs.equals(rhs) != true)throw new RuntimeException("Failure");if (lhs.hashCode() != rhs.hashCode())throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.req_int = 1;rhs.req_int = 2;lhs.setReq_intIsSet(true);rhs.setReq_intIsSet(true);// this_present = True// that_present = Trueif (lhs.equals(rhs) != false)throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.opt_int = 1;rhs.opt_int = 1;// this_present = False// that_present = Falseif (lhs.equals(rhs) != true)throw new RuntimeException("Failure");if (lhs.hashCode() != rhs.hashCode())throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.opt_int = 1;rhs.opt_int = 2;// this_present = False// that_present = Falseif (lhs.equals(rhs) != true)throw new RuntimeException("Failure");if (lhs.hashCode() != rhs.hashCode())throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.opt_int = 1;rhs.opt_int = 1;rhs.setOpt_intIsSet(true);// this_present = False// that_present = Trueif (lhs.equals(rhs) != false)throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.opt_int = 1;rhs.opt_int = 2;rhs.setOpt_intIsSet(true);// this_present = False// that_present = Trueif (lhs.equals(rhs) != false)throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.opt_int = 1;rhs.opt_int = 1;lhs.setOpt_intIsSet(true);// this_present = True// that_present = Falseif (lhs.equals(rhs) != false)throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.opt_int = 1;rhs.opt_int = 2;lhs.setOpt_intIsSet(true);// this_present = True// that_present = Falseif (lhs.equals(rhs) != false)throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.opt_int = 1;rhs.opt_int = 1;lhs.setOpt_intIsSet(true);rhs.setOpt_intIsSet(true);// this_present = True// that_present = Trueif (lhs.equals(rhs) != true)throw new RuntimeException("Failure");if (lhs.hashCode() != rhs.hashCode())throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.opt_int = 1;rhs.opt_int = 2;lhs.setOpt_intIsSet(true);rhs.setOpt_intIsSet(true);// this_present = True// that_present = Trueif (lhs.equals(rhs) != false)throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.req_obj = "foo";rhs.req_obj = "foo";lhs.req_obj = null;rhs.req_obj = null;// this_present = False// that_present = Falseif (lhs.equals(rhs) != true)throw new RuntimeException("Failure");if (lhs.hashCode() != rhs.hashCode())throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.req_obj = "foo";rhs.req_obj = "bar";lhs.req_obj = null;rhs.req_obj = null;// this_present = False// that_present = Falseif (lhs.equals(rhs) != true)throw new RuntimeException("Failure");if (lhs.hashCode() != rhs.hashCode())throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.req_obj = "foo";rhs.req_obj = "foo";lhs.req_obj = null;// this_present = False// that_present = Trueif (lhs.equals(rhs) != false)throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.req_obj = "foo";rhs.req_obj = "bar";lhs.req_obj = null;// this_present = False// that_present = Trueif (lhs.equals(rhs) != false)throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.req_obj = "foo";rhs.req_obj = "foo";rhs.req_obj = null;// this_present = True// that_present = Falseif (lhs.equals(rhs) != false)throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.req_obj = "foo";rhs.req_obj = "bar";rhs.req_obj = null;// this_present = True// that_present = Falseif (lhs.equals(rhs) != false)throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.req_obj = "foo";rhs.req_obj = "foo";// this_present = True// that_present = Trueif (lhs.equals(rhs) != true)throw new RuntimeException("Failure");if (lhs.hashCode() != rhs.hashCode())throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.req_obj = "foo";rhs.req_obj = "bar";// this_present = True// that_present = Trueif (lhs.equals(rhs) != false)throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.opt_obj = "foo";rhs.opt_obj = "foo";lhs.opt_obj = null;rhs.opt_obj = null;// this_present = False// that_present = Falseif (lhs.equals(rhs) != true)throw new RuntimeException("Failure");if (lhs.hashCode() != rhs.hashCode())throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.opt_obj = "foo";rhs.opt_obj = "bar";lhs.opt_obj = null;rhs.opt_obj = null;// this_present = False// that_present = Falseif (lhs.equals(rhs) != true)throw new RuntimeException("Failure");if (lhs.hashCode() != rhs.hashCode())throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.opt_obj = "foo";rhs.opt_obj = "foo";lhs.opt_obj = null;// this_present = False// that_present = Trueif (lhs.equals(rhs) != false)throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.opt_obj = "foo";rhs.opt_obj = "bar";lhs.opt_obj = null;// this_present = False// that_present = Trueif (lhs.equals(rhs) != false)throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.opt_obj = "foo";rhs.opt_obj = "foo";rhs.opt_obj = null;// this_present = True// that_present = Falseif (lhs.equals(rhs) != false)throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.opt_obj = "foo";rhs.opt_obj = "bar";rhs.opt_obj = null;// this_present = True// that_present = Falseif (lhs.equals(rhs) != false)throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.opt_obj = "foo";rhs.opt_obj = "foo";// this_present = True// that_present = Trueif (lhs.equals(rhs) != true)throw new RuntimeException("Failure");if (lhs.hashCode() != rhs.hashCode())throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.opt_obj = "foo";rhs.opt_obj = "bar";// this_present = True// that_present = Trueif (lhs.equals(rhs) != false)throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.req_bin = new byte[]{1,2};rhs.req_bin = new byte[]{1,2};lhs.req_bin = null;rhs.req_bin = null;// this_present = False// that_present = Falseif (lhs.equals(rhs) != true)throw new RuntimeException("Failure");if (lhs.hashCode() != rhs.hashCode())throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.req_bin = new byte[]{1,2};rhs.req_bin = new byte[]{3,4};lhs.req_bin = null;rhs.req_bin = null;// this_present = False// that_present = Falseif (lhs.equals(rhs) != true)throw new RuntimeException("Failure");if (lhs.hashCode() != rhs.hashCode())throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.req_bin = new byte[]{1,2};rhs.req_bin = new byte[]{1,2};lhs.req_bin = null;// this_present = False// that_present = Trueif (lhs.equals(rhs) != false)throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.req_bin = new byte[]{1,2};rhs.req_bin = new byte[]{3,4};lhs.req_bin = null;// this_present = False// that_present = Trueif (lhs.equals(rhs) != false)throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.req_bin = new byte[]{1,2};rhs.req_bin = new byte[]{1,2};rhs.req_bin = null;// this_present = True// that_present = Falseif (lhs.equals(rhs) != false)throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.req_bin = new byte[]{1,2};rhs.req_bin = new byte[]{3,4};rhs.req_bin = null;// this_present = True// that_present = Falseif (lhs.equals(rhs) != false)throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.req_bin = new byte[]{1,2};rhs.req_bin = new byte[]{1,2};// this_present = True// that_present = Trueif (lhs.equals(rhs) != true)throw new RuntimeException("Failure");if (lhs.hashCode() != rhs.hashCode())throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.req_bin = new byte[]{1,2};rhs.req_bin = new byte[]{3,4};// this_present = True// that_present = Trueif (lhs.equals(rhs) != false)throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.opt_bin = new byte[]{1,2};rhs.opt_bin = new byte[]{1,2};lhs.opt_bin = null;rhs.opt_bin = null;// this_present = False// that_present = Falseif (lhs.equals(rhs) != true)throw new RuntimeException("Failure");if (lhs.hashCode() != rhs.hashCode())throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.opt_bin = new byte[]{1,2};rhs.opt_bin = new byte[]{3,4};lhs.opt_bin = null;rhs.opt_bin = null;// this_present = False// that_present = Falseif (lhs.equals(rhs) != true)throw new RuntimeException("Failure");if (lhs.hashCode() != rhs.hashCode())throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.opt_bin = new byte[]{1,2};rhs.opt_bin = new byte[]{1,2};lhs.opt_bin = null;// this_present = False// that_present = Trueif (lhs.equals(rhs) != false)throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.opt_bin = new byte[]{1,2};rhs.opt_bin = new byte[]{3,4};lhs.opt_bin = null;// this_present = False// that_present = Trueif (lhs.equals(rhs) != false)throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.opt_bin = new byte[]{1,2};rhs.opt_bin = new byte[]{1,2};rhs.opt_bin = null;// this_present = True// that_present = Falseif (lhs.equals(rhs) != false)throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.opt_bin = new byte[]{1,2};rhs.opt_bin = new byte[]{3,4};rhs.opt_bin = null;// this_present = True// that_present = Falseif (lhs.equals(rhs) != false)throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.opt_bin = new byte[]{1,2};rhs.opt_bin = new byte[]{1,2};// this_present = True// that_present = Trueif (lhs.equals(rhs) != true)throw new RuntimeException("Failure");if (lhs.hashCode() != rhs.hashCode())throw new RuntimeException("Failure");lhs = new JavaTestHelper();rhs = new JavaTestHelper();lhs.opt_bin = new byte[]{1,2};rhs.opt_bin = new byte[]{3,4};// this_present = True// that_present = Trueif (lhs.equals(rhs) != false)throw new RuntimeException("Failure");}}