1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one 3 * or more contributor license agreements. See the NOTICE file 4 * distributed with this work for additional information 5 * regarding copyright ownership. The ASF licenses this file 6 * to you under the Apache License, Version 2.0 (the 7 * "License"); you may not use this file except in compliance 8 * with the License. You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, 13 * software distributed under the License is distributed on an 14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 * KIND, either express or implied. See the License for the 16 * specific language governing permissions and limitations 17 * under the License. 18 */ 19 20 /* 21 This program was generated by the following Python script: 22 23 #!/usr/bin/python2.5 24 25 # Remove this when Python 2.6 hits the streets. 26 from __future__ import with_statement 27 28 import sys 29 import os.path 30 31 32 # Quines the easy way. 33 with open(sys.argv[0], 'r') as handle: 34 source = handle.read() 35 36 with open(os.path.join(os.path.dirname(sys.argv[0]), 'EqualityTest.java'), 'w') as out: 37 print >> out, ("/""*" r""" 38 * Licensed to the Apache Software Foundation (ASF) under one 39 * or more contributor license agreements. See the NOTICE file 40 * distributed with this work for additional information 41 * regarding copyright ownership. The ASF licenses this file 42 * to you under the Apache License, Version 2.0 (the 43 * "License"); you may not use this file except in compliance 44 * with the License. You may obtain a copy of the License at 45 * 46 * http://www.apache.org/licenses/LICENSE-2.0 47 * 48 * Unless required by applicable law or agreed to in writing, 49 * software distributed under the License is distributed on an 50 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 51 * KIND, either express or implied. See the License for the 52 * specific language governing permissions and limitations 53 * under the License. 54 """ "*""/") 55 print >> out 56 print >> out, "/""*" 57 print >> out, "This program was generated by the following Python script:" 58 print >> out 59 out.write(source) 60 print >> out, "*""/" 61 62 print >> out, r''' 63 package org.apache.thrift.test; 64 65 // Generated code 66 import thrift.test.*; 67 68 /'''r'''** 69 *'''r'''/ 70 public class EqualityTest { 71 public static void main(String[] args) throws Exception { 72 JavaTestHelper lhs, rhs; 73 ''' 74 75 vals = { 76 'int': ("1", "2"), 77 'obj': ("\"foo\"", "\"bar\""), 78 'bin': ("new byte[]{1,2}", "new byte[]{3,4}"), 79 } 80 matrix = ( 81 (False,False), 82 (False,True ), 83 (True ,False), 84 (True ,True ), 85 ) 86 87 for type in ('int', 'obj', 'bin'): 88 for option in ('req', 'opt'): 89 nulls = matrix[0:1] if type == 'int' else matrix[-1::-1] 90 issets = matrix 91 for is_null in nulls: 92 for is_set in issets: 93 # isset is implied for non-primitives, so only consider the case 94 # where isset and non-null match. 95 if type != 'int' and list(is_set) != [ not null for null in is_null ]: 96 continue 97 for equal in (True, False): 98 print >> out 99 print >> out, " lhs = new JavaTestHelper();" 100 print >> out, " rhs = new JavaTestHelper();" 101 print >> out, " lhs." + option + "_" + type, "=", vals[type][0] + ";" 102 print >> out, " rhs." + option + "_" + type, "=", vals[type][0 if equal else 1] + ";" 103 isset_setter = "set" + option[0].upper() + option[1:] + "_" + type + "IsSet" 104 if (type == 'int' and is_set[0]): print >> out, " lhs." + isset_setter + "(true);" 105 if (type == 'int' and is_set[1]): print >> out, " rhs." + isset_setter + "(true);" 106 if (is_null[0]): print >> out, " lhs." + option + "_" + type, "= null;" 107 if (is_null[1]): print >> out, " rhs." + option + "_" + type, "= null;" 108 this_present = not is_null[0] and (option == 'req' or is_set[0]) 109 that_present = not is_null[1] and (option == 'req' or is_set[1]) 110 print >> out, " // this_present = " + repr(this_present) 111 print >> out, " // that_present = " + repr(that_present) 112 is_equal = \ 113 (not this_present and not that_present) or \ 114 (this_present and that_present and equal) 115 eq_str = 'true' if is_equal else 'false' 116 117 print >> out, " if (lhs.equals(rhs) != "+eq_str+")" 118 print >> out, " throw new RuntimeException(\"Failure\");" 119 if is_equal: 120 print >> out, " if (lhs.hashCode() != rhs.hashCode())" 121 print >> out, " throw new RuntimeException(\"Failure\");" 122 123 print >> out, r''' 124 } 125 } 126 ''' 127 */ 128 129 package org.apache.thrift.test; 130 131 // Generated code 132 import java.nio.ByteBuffer; 133 134 import thrift.test.JavaTestHelper; 135 136 /** 137 */ 138 public class EqualityTest { main(String[] args)139 public static void main(String[] args) throws Exception { 140 JavaTestHelper lhs, rhs; 141 142 143 lhs = new JavaTestHelper(); 144 rhs = new JavaTestHelper(); 145 lhs.req_int = 1; 146 rhs.req_int = 1; 147 // this_present = True 148 // that_present = True 149 if (lhs.equals(rhs) != true) 150 throw new RuntimeException("Failure"); 151 if (lhs.hashCode() != rhs.hashCode()) 152 throw new RuntimeException("Failure"); 153 154 lhs = new JavaTestHelper(); 155 rhs = new JavaTestHelper(); 156 lhs.req_int = 1; 157 rhs.req_int = 2; 158 // this_present = True 159 // that_present = True 160 if (lhs.equals(rhs) != false) 161 throw new RuntimeException("Failure"); 162 163 lhs = new JavaTestHelper(); 164 rhs = new JavaTestHelper(); 165 lhs.req_int = 1; 166 rhs.req_int = 1; 167 rhs.setReq_intIsSet(true); 168 // this_present = True 169 // that_present = True 170 if (lhs.equals(rhs) != true) 171 throw new RuntimeException("Failure"); 172 if (lhs.hashCode() != rhs.hashCode()) 173 throw new RuntimeException("Failure"); 174 175 lhs = new JavaTestHelper(); 176 rhs = new JavaTestHelper(); 177 lhs.req_int = 1; 178 rhs.req_int = 2; 179 rhs.setReq_intIsSet(true); 180 // this_present = True 181 // that_present = True 182 if (lhs.equals(rhs) != false) 183 throw new RuntimeException("Failure"); 184 185 lhs = new JavaTestHelper(); 186 rhs = new JavaTestHelper(); 187 lhs.req_int = 1; 188 rhs.req_int = 1; 189 lhs.setReq_intIsSet(true); 190 // this_present = True 191 // that_present = True 192 if (lhs.equals(rhs) != true) 193 throw new RuntimeException("Failure"); 194 if (lhs.hashCode() != rhs.hashCode()) 195 throw new RuntimeException("Failure"); 196 197 lhs = new JavaTestHelper(); 198 rhs = new JavaTestHelper(); 199 lhs.req_int = 1; 200 rhs.req_int = 2; 201 lhs.setReq_intIsSet(true); 202 // this_present = True 203 // that_present = True 204 if (lhs.equals(rhs) != false) 205 throw new RuntimeException("Failure"); 206 207 lhs = new JavaTestHelper(); 208 rhs = new JavaTestHelper(); 209 lhs.req_int = 1; 210 rhs.req_int = 1; 211 lhs.setReq_intIsSet(true); 212 rhs.setReq_intIsSet(true); 213 // this_present = True 214 // that_present = True 215 if (lhs.equals(rhs) != true) 216 throw new RuntimeException("Failure"); 217 if (lhs.hashCode() != rhs.hashCode()) 218 throw new RuntimeException("Failure"); 219 220 lhs = new JavaTestHelper(); 221 rhs = new JavaTestHelper(); 222 lhs.req_int = 1; 223 rhs.req_int = 2; 224 lhs.setReq_intIsSet(true); 225 rhs.setReq_intIsSet(true); 226 // this_present = True 227 // that_present = True 228 if (lhs.equals(rhs) != false) 229 throw new RuntimeException("Failure"); 230 231 lhs = new JavaTestHelper(); 232 rhs = new JavaTestHelper(); 233 lhs.opt_int = 1; 234 rhs.opt_int = 1; 235 // this_present = False 236 // that_present = False 237 if (lhs.equals(rhs) != true) 238 throw new RuntimeException("Failure"); 239 if (lhs.hashCode() != rhs.hashCode()) 240 throw new RuntimeException("Failure"); 241 242 lhs = new JavaTestHelper(); 243 rhs = new JavaTestHelper(); 244 lhs.opt_int = 1; 245 rhs.opt_int = 2; 246 // this_present = False 247 // that_present = False 248 if (lhs.equals(rhs) != true) 249 throw new RuntimeException("Failure"); 250 if (lhs.hashCode() != rhs.hashCode()) 251 throw new RuntimeException("Failure"); 252 253 lhs = new JavaTestHelper(); 254 rhs = new JavaTestHelper(); 255 lhs.opt_int = 1; 256 rhs.opt_int = 1; 257 rhs.setOpt_intIsSet(true); 258 // this_present = False 259 // that_present = True 260 if (lhs.equals(rhs) != false) 261 throw new RuntimeException("Failure"); 262 263 lhs = new JavaTestHelper(); 264 rhs = new JavaTestHelper(); 265 lhs.opt_int = 1; 266 rhs.opt_int = 2; 267 rhs.setOpt_intIsSet(true); 268 // this_present = False 269 // that_present = True 270 if (lhs.equals(rhs) != false) 271 throw new RuntimeException("Failure"); 272 273 lhs = new JavaTestHelper(); 274 rhs = new JavaTestHelper(); 275 lhs.opt_int = 1; 276 rhs.opt_int = 1; 277 lhs.setOpt_intIsSet(true); 278 // this_present = True 279 // that_present = False 280 if (lhs.equals(rhs) != false) 281 throw new RuntimeException("Failure"); 282 283 lhs = new JavaTestHelper(); 284 rhs = new JavaTestHelper(); 285 lhs.opt_int = 1; 286 rhs.opt_int = 2; 287 lhs.setOpt_intIsSet(true); 288 // this_present = True 289 // that_present = False 290 if (lhs.equals(rhs) != false) 291 throw new RuntimeException("Failure"); 292 293 lhs = new JavaTestHelper(); 294 rhs = new JavaTestHelper(); 295 lhs.opt_int = 1; 296 rhs.opt_int = 1; 297 lhs.setOpt_intIsSet(true); 298 rhs.setOpt_intIsSet(true); 299 // this_present = True 300 // that_present = True 301 if (lhs.equals(rhs) != true) 302 throw new RuntimeException("Failure"); 303 if (lhs.hashCode() != rhs.hashCode()) 304 throw new RuntimeException("Failure"); 305 306 lhs = new JavaTestHelper(); 307 rhs = new JavaTestHelper(); 308 lhs.opt_int = 1; 309 rhs.opt_int = 2; 310 lhs.setOpt_intIsSet(true); 311 rhs.setOpt_intIsSet(true); 312 // this_present = True 313 // that_present = True 314 if (lhs.equals(rhs) != false) 315 throw new RuntimeException("Failure"); 316 317 lhs = new JavaTestHelper(); 318 rhs = new JavaTestHelper(); 319 lhs.req_obj = "foo"; 320 rhs.req_obj = "foo"; 321 lhs.req_obj = null; 322 rhs.req_obj = null; 323 // this_present = False 324 // that_present = False 325 if (lhs.equals(rhs) != true) 326 throw new RuntimeException("Failure"); 327 if (lhs.hashCode() != rhs.hashCode()) 328 throw new RuntimeException("Failure"); 329 330 lhs = new JavaTestHelper(); 331 rhs = new JavaTestHelper(); 332 lhs.req_obj = "foo"; 333 rhs.req_obj = "bar"; 334 lhs.req_obj = null; 335 rhs.req_obj = null; 336 // this_present = False 337 // that_present = False 338 if (lhs.equals(rhs) != true) 339 throw new RuntimeException("Failure"); 340 if (lhs.hashCode() != rhs.hashCode()) 341 throw new RuntimeException("Failure"); 342 343 lhs = new JavaTestHelper(); 344 rhs = new JavaTestHelper(); 345 lhs.req_obj = "foo"; 346 rhs.req_obj = "foo"; 347 lhs.req_obj = null; 348 // this_present = False 349 // that_present = True 350 if (lhs.equals(rhs) != false) 351 throw new RuntimeException("Failure"); 352 353 lhs = new JavaTestHelper(); 354 rhs = new JavaTestHelper(); 355 lhs.req_obj = "foo"; 356 rhs.req_obj = "bar"; 357 lhs.req_obj = null; 358 // this_present = False 359 // that_present = True 360 if (lhs.equals(rhs) != false) 361 throw new RuntimeException("Failure"); 362 363 lhs = new JavaTestHelper(); 364 rhs = new JavaTestHelper(); 365 lhs.req_obj = "foo"; 366 rhs.req_obj = "foo"; 367 rhs.req_obj = null; 368 // this_present = True 369 // that_present = False 370 if (lhs.equals(rhs) != false) 371 throw new RuntimeException("Failure"); 372 373 lhs = new JavaTestHelper(); 374 rhs = new JavaTestHelper(); 375 lhs.req_obj = "foo"; 376 rhs.req_obj = "bar"; 377 rhs.req_obj = null; 378 // this_present = True 379 // that_present = False 380 if (lhs.equals(rhs) != false) 381 throw new RuntimeException("Failure"); 382 383 lhs = new JavaTestHelper(); 384 rhs = new JavaTestHelper(); 385 lhs.req_obj = "foo"; 386 rhs.req_obj = "foo"; 387 // this_present = True 388 // that_present = True 389 if (lhs.equals(rhs) != true) 390 throw new RuntimeException("Failure"); 391 if (lhs.hashCode() != rhs.hashCode()) 392 throw new RuntimeException("Failure"); 393 394 lhs = new JavaTestHelper(); 395 rhs = new JavaTestHelper(); 396 lhs.req_obj = "foo"; 397 rhs.req_obj = "bar"; 398 // this_present = True 399 // that_present = True 400 if (lhs.equals(rhs) != false) 401 throw new RuntimeException("Failure"); 402 403 lhs = new JavaTestHelper(); 404 rhs = new JavaTestHelper(); 405 lhs.opt_obj = "foo"; 406 rhs.opt_obj = "foo"; 407 lhs.opt_obj = null; 408 rhs.opt_obj = null; 409 // this_present = False 410 // that_present = False 411 if (lhs.equals(rhs) != true) 412 throw new RuntimeException("Failure"); 413 if (lhs.hashCode() != rhs.hashCode()) 414 throw new RuntimeException("Failure"); 415 416 lhs = new JavaTestHelper(); 417 rhs = new JavaTestHelper(); 418 lhs.opt_obj = "foo"; 419 rhs.opt_obj = "bar"; 420 lhs.opt_obj = null; 421 rhs.opt_obj = null; 422 // this_present = False 423 // that_present = False 424 if (lhs.equals(rhs) != true) 425 throw new RuntimeException("Failure"); 426 if (lhs.hashCode() != rhs.hashCode()) 427 throw new RuntimeException("Failure"); 428 429 lhs = new JavaTestHelper(); 430 rhs = new JavaTestHelper(); 431 lhs.opt_obj = "foo"; 432 rhs.opt_obj = "foo"; 433 lhs.opt_obj = null; 434 // this_present = False 435 // that_present = True 436 if (lhs.equals(rhs) != false) 437 throw new RuntimeException("Failure"); 438 439 lhs = new JavaTestHelper(); 440 rhs = new JavaTestHelper(); 441 lhs.opt_obj = "foo"; 442 rhs.opt_obj = "bar"; 443 lhs.opt_obj = null; 444 // this_present = False 445 // that_present = True 446 if (lhs.equals(rhs) != false) 447 throw new RuntimeException("Failure"); 448 449 lhs = new JavaTestHelper(); 450 rhs = new JavaTestHelper(); 451 lhs.opt_obj = "foo"; 452 rhs.opt_obj = "foo"; 453 rhs.opt_obj = null; 454 // this_present = True 455 // that_present = False 456 if (lhs.equals(rhs) != false) 457 throw new RuntimeException("Failure"); 458 459 lhs = new JavaTestHelper(); 460 rhs = new JavaTestHelper(); 461 lhs.opt_obj = "foo"; 462 rhs.opt_obj = "bar"; 463 rhs.opt_obj = null; 464 // this_present = True 465 // that_present = False 466 if (lhs.equals(rhs) != false) 467 throw new RuntimeException("Failure"); 468 469 lhs = new JavaTestHelper(); 470 rhs = new JavaTestHelper(); 471 lhs.opt_obj = "foo"; 472 rhs.opt_obj = "foo"; 473 // this_present = True 474 // that_present = True 475 if (lhs.equals(rhs) != true) 476 throw new RuntimeException("Failure"); 477 if (lhs.hashCode() != rhs.hashCode()) 478 throw new RuntimeException("Failure"); 479 480 lhs = new JavaTestHelper(); 481 rhs = new JavaTestHelper(); 482 lhs.opt_obj = "foo"; 483 rhs.opt_obj = "bar"; 484 // this_present = True 485 // that_present = True 486 if (lhs.equals(rhs) != false) 487 throw new RuntimeException("Failure"); 488 489 lhs = new JavaTestHelper(); 490 rhs = new JavaTestHelper(); 491 lhs.req_bin = ByteBuffer.wrap(new byte[]{1,2}); 492 rhs.req_bin = ByteBuffer.wrap(new byte[]{1,2}); 493 lhs.req_bin = null; 494 rhs.req_bin = null; 495 // this_present = False 496 // that_present = False 497 if (lhs.equals(rhs) != true) 498 throw new RuntimeException("Failure"); 499 if (lhs.hashCode() != rhs.hashCode()) 500 throw new RuntimeException("Failure"); 501 502 lhs = new JavaTestHelper(); 503 rhs = new JavaTestHelper(); 504 lhs.req_bin = ByteBuffer.wrap(new byte[]{1,2}); 505 rhs.req_bin = ByteBuffer.wrap(new byte[]{3,4}); 506 lhs.req_bin = null; 507 rhs.req_bin = null; 508 // this_present = False 509 // that_present = False 510 if (lhs.equals(rhs) != true) 511 throw new RuntimeException("Failure"); 512 if (lhs.hashCode() != rhs.hashCode()) 513 throw new RuntimeException("Failure"); 514 515 lhs = new JavaTestHelper(); 516 rhs = new JavaTestHelper(); 517 lhs.req_bin = ByteBuffer.wrap(new byte[]{1,2}); 518 rhs.req_bin = ByteBuffer.wrap(new byte[]{1,2}); 519 lhs.req_bin = null; 520 // this_present = False 521 // that_present = True 522 if (lhs.equals(rhs) != false) 523 throw new RuntimeException("Failure"); 524 525 lhs = new JavaTestHelper(); 526 rhs = new JavaTestHelper(); 527 lhs.req_bin = ByteBuffer.wrap(new byte[]{1,2}); 528 rhs.req_bin = ByteBuffer.wrap(new byte[]{3,4}); 529 lhs.req_bin = null; 530 // this_present = False 531 // that_present = True 532 if (lhs.equals(rhs) != false) 533 throw new RuntimeException("Failure"); 534 535 lhs = new JavaTestHelper(); 536 rhs = new JavaTestHelper(); 537 lhs.req_bin = ByteBuffer.wrap(new byte[]{1,2}); 538 rhs.req_bin = ByteBuffer.wrap(new byte[]{1,2}); 539 rhs.req_bin = null; 540 // this_present = True 541 // that_present = False 542 if (lhs.equals(rhs) != false) 543 throw new RuntimeException("Failure"); 544 545 lhs = new JavaTestHelper(); 546 rhs = new JavaTestHelper(); 547 lhs.req_bin = ByteBuffer.wrap(new byte[]{1,2}); 548 rhs.req_bin = ByteBuffer.wrap(new byte[]{3,4}); 549 rhs.req_bin = null; 550 // this_present = True 551 // that_present = False 552 if (lhs.equals(rhs) != false) 553 throw new RuntimeException("Failure"); 554 555 lhs = new JavaTestHelper(); 556 rhs = new JavaTestHelper(); 557 lhs.req_bin = ByteBuffer.wrap(new byte[]{1,2}); 558 rhs.req_bin = ByteBuffer.wrap(new byte[]{1,2}); 559 // this_present = True 560 // that_present = True 561 if (lhs.equals(rhs) != true) 562 throw new RuntimeException("Failure"); 563 if (lhs.hashCode() != rhs.hashCode()) 564 throw new RuntimeException("Failure"); 565 566 lhs = new JavaTestHelper(); 567 rhs = new JavaTestHelper(); 568 lhs.req_bin = ByteBuffer.wrap(new byte[]{1,2}); 569 rhs.req_bin = ByteBuffer.wrap(new byte[]{3,4}); 570 // this_present = True 571 // that_present = True 572 if (lhs.equals(rhs) != false) 573 throw new RuntimeException("Failure"); 574 575 lhs = new JavaTestHelper(); 576 rhs = new JavaTestHelper(); 577 lhs.opt_bin = ByteBuffer.wrap(new byte[]{1,2}); 578 rhs.opt_bin = ByteBuffer.wrap(new byte[]{1,2}); 579 lhs.opt_bin = null; 580 rhs.opt_bin = null; 581 // this_present = False 582 // that_present = False 583 if (lhs.equals(rhs) != true) 584 throw new RuntimeException("Failure"); 585 if (lhs.hashCode() != rhs.hashCode()) 586 throw new RuntimeException("Failure"); 587 588 lhs = new JavaTestHelper(); 589 rhs = new JavaTestHelper(); 590 lhs.opt_bin = ByteBuffer.wrap(new byte[]{1,2}); 591 rhs.opt_bin = ByteBuffer.wrap(new byte[]{3,4}); 592 lhs.opt_bin = null; 593 rhs.opt_bin = null; 594 // this_present = False 595 // that_present = False 596 if (lhs.equals(rhs) != true) 597 throw new RuntimeException("Failure"); 598 if (lhs.hashCode() != rhs.hashCode()) 599 throw new RuntimeException("Failure"); 600 601 lhs = new JavaTestHelper(); 602 rhs = new JavaTestHelper(); 603 lhs.opt_bin = ByteBuffer.wrap(new byte[]{1,2}); 604 rhs.opt_bin = ByteBuffer.wrap(new byte[]{1,2}); 605 lhs.opt_bin = null; 606 // this_present = False 607 // that_present = True 608 if (lhs.equals(rhs) != false) 609 throw new RuntimeException("Failure"); 610 611 lhs = new JavaTestHelper(); 612 rhs = new JavaTestHelper(); 613 lhs.opt_bin = ByteBuffer.wrap(new byte[]{1,2}); 614 rhs.opt_bin = ByteBuffer.wrap(new byte[]{3,4}); 615 lhs.opt_bin = null; 616 // this_present = False 617 // that_present = True 618 if (lhs.equals(rhs) != false) 619 throw new RuntimeException("Failure"); 620 621 lhs = new JavaTestHelper(); 622 rhs = new JavaTestHelper(); 623 lhs.opt_bin = ByteBuffer.wrap(new byte[]{1,2}); 624 rhs.opt_bin = ByteBuffer.wrap(new byte[]{1,2}); 625 rhs.opt_bin = null; 626 // this_present = True 627 // that_present = False 628 if (lhs.equals(rhs) != false) 629 throw new RuntimeException("Failure"); 630 631 lhs = new JavaTestHelper(); 632 rhs = new JavaTestHelper(); 633 lhs.opt_bin = ByteBuffer.wrap(new byte[]{1,2}); 634 rhs.opt_bin = ByteBuffer.wrap(new byte[]{3,4}); 635 rhs.opt_bin = null; 636 // this_present = True 637 // that_present = False 638 if (lhs.equals(rhs) != false) 639 throw new RuntimeException("Failure"); 640 641 lhs = new JavaTestHelper(); 642 rhs = new JavaTestHelper(); 643 lhs.opt_bin = ByteBuffer.wrap(new byte[]{1,2}); 644 rhs.opt_bin = ByteBuffer.wrap(new byte[]{1,2}); 645 // this_present = True 646 // that_present = True 647 if (lhs.equals(rhs) != true) 648 throw new RuntimeException("Failure"); 649 if (lhs.hashCode() != rhs.hashCode()) 650 throw new RuntimeException("Failure"); 651 652 lhs = new JavaTestHelper(); 653 rhs = new JavaTestHelper(); 654 lhs.opt_bin = ByteBuffer.wrap(new byte[]{1,2}); 655 rhs.opt_bin = ByteBuffer.wrap(new byte[]{3,4}); 656 // this_present = True 657 // that_present = True 658 if (lhs.equals(rhs) != false) 659 throw new RuntimeException("Failure"); 660 661 } 662 } 663 664