1Imports System 2Imports Microsoft.VisualBasic.CompilerServices 3Imports NUnit.Framework 4<TestFixture()> _ 5Public Class OperatorsTests 6 Sub New() 7 Helper.SetThreadCulture() 8 End Sub 9 10 <Test()> _ 11 Sub TestOperatorsCompareEqual1() 12 Assert.IsTrue(Operators.CompareObjectEqual("True", True, False), """True"" = True") 13 Assert.IsTrue(Operators.CompareObjectEqual(True, "True", False), "True = ""True""") 14 Assert.IsTrue(Operators.CompareObjectEqual("False", False, False), """False"" = False") 15 Assert.IsTrue(Operators.CompareObjectEqual(False, "False", False), "False = ""False""") 16 17 Assert.IsFalse(Operators.CompareObjectEqual("True", False, False), """True"" = False") 18 Assert.IsFalse(Operators.CompareObjectEqual(False, "True", False), "False = ""True""") 19 Assert.IsFalse(Operators.CompareObjectEqual("False", True, False), """False"" = True") 20 Assert.IsFalse(Operators.CompareObjectEqual(True, "False", False), "True = ""False""") 21 End Sub 22 23 <Test(), ExpectedException(GetType(InvalidCastException))> _ 24 Sub TestOperatorsCompareEqual2() 25 Assert.IsTrue(Operators.CompareObjectEqual("Truez", True, False), """Truez"" = True") 26 End Sub 27 28 <Test()> _ 29 Sub TestOperatorsConcatenate1() 30 Dim o1, o2, o3 As Object 31 o1 = "a" 32 o2 = "b" 33 o3 = Operators.ConcatenateObject(o1, o2) 34 Assert.AreEqual(o3, "ab") 35 End Sub 36 37 <Test()> _ 38 Sub TestOperatorsConcatenate2() 39 Dim o1, o2, o3 As Object 40 o1 = "d" 41 o2 = 1 42 o3 = Operators.ConcatenateObject(o1, o2) 43 Assert.AreEqual(o3, "d1") 44 End Sub 45 46 <Test()> _ 47 Sub TestOperatorsConcatenate3() 48 Dim o1, o2, o3 As Object 49 o1 = "1" 50 o2 = 1 51 o3 = Operators.ConcatenateObject(o1, o2) 52 Assert.AreEqual(o3, "11") 53 End Sub 54 55 <Test()> _ 56 Sub TestOperatorsConcatenate4() 57 Dim o1, o2, o3 As Object 58 o1 = 1 59 o2 = 1 60 o3 = Operators.ConcatenateObject(o1, o2) 61 Assert.AreEqual(o3, "11") 62 End Sub 63 64 <Test()> _ 65 Sub TestOperatorsConcatenate5() 66 Dim o1, o2, o3 As Object 67 o1 = 1.1 68 o2 = 1 69 o3 = Operators.ConcatenateObject(o1, o2) 70 Assert.AreEqual(o3, "1.11") 71 End Sub 72 73 <Test()> _ 74 Sub TestOperatorsConcatenate6() 75 Dim o1, o2, o3 As Object 76 o1 = DateTime.Now 77 o2 = DateTime.Now 78 o3 = Operators.ConcatenateObject(o1, o2) 79 Assert.AreEqual(o3, String.Concat(o1.ToString(), o2.ToString())) 80 End Sub 81 82 <Test()> _ 83 Sub TestOperatorsConcatenate7() 84 Dim o1, o2, o3 As Object 85 o1 = "a"c 86 o2 = "b"c 87 o3 = Operators.ConcatenateObject(o1, o2) 88 Assert.AreEqual(o3, "ab") 89 End Sub 90 91 <Test()> _ 92 Sub TestOperatorsConcatenate8() 93 Dim o1, o2, o3, o4, o5, o6 As Object 94 o1 = "b"c 95 o2 = Nothing 96 o3 = Operators.ConcatenateObject(o1, o2) 97 o4 = "b"c 98 o5 = DBNull.Value 99 o6 = Operators.ConcatenateObject(o1, o2) 100 Assert.AreEqual(o3, o6) 101 End Sub 102 103 <Test()> _ 104 Sub TestOperatorsConcatenate9() 105 Dim o1, o2, o3 As Object 106 o1 = Nothing 107 o2 = 1 108 o3 = Operators.ConcatenateObject(o1, o2) 109 Assert.AreEqual(o3, "1") 110 End Sub 111 112 <Test()> _ 113 Sub TestOperatorsConcatenate10() 114 Dim o1, o2, o3 As Object 115 o1 = Nothing 116 o2 = Nothing 117 o3 = Operators.ConcatenateObject(o1, o2) 118 Assert.AreEqual(o3, "") 119 End Sub 120 121 <Test()> _ 122 Sub TestOperatorsConcatenate11() 123 Dim o1, o2, o3 As Object 124 o1 = New OperatorsImplementer() 125 o2 = "abc" 126 o3 = Operators.ConcatenateObject(o1, o2) 127 Assert.AreEqual(o3, "ok&") 128 End Sub 129 130 <Test()> _ 131 Sub TestOperatorsConcatenate12() 132 Dim o1, o2, o3 As Object 133 o1 = "abc" 134 o2 = New OperatorsImplementer() 135 Try 136 o3 = Operators.ConcatenateObject(o1, o2) 137 Catch ex As InvalidCastException 138 Return 139 End Try 140 Assert.Fail() 141 End Sub 142 143 <Test()> _ 144 Sub TestOperatorsNegate1() 145 Dim o1, o2 As Object 146 o1 = True 147 o2 = Operators.NegateObject(o1) 148 If (TypeOf o2 Is Short) Then 149 Assert.AreEqual(CType(o2, Short), 1S) 150 Else 151 Assert.Fail() 152 End If 153 End Sub 154 155 <Test()> _ 156 Sub TestOperatorsNegate2() 157 Dim o1, o2 As Object 158 o1 = Nothing 159 o2 = Operators.NegateObject(o1) 160 If (TypeOf o2 Is Integer) Then 161 Assert.AreEqual(CType(o2, Integer), 0) 162 Else 163 Assert.Fail() 164 End If 165 End Sub 166 167 <Test()> _ 168 Sub TestOperatorsNegate3() 169 Dim o1, o2 As Object 170 o1 = Nothing 171 o2 = Operators.NegateObject(o1) 172 If (TypeOf o2 Is Integer) Then 173 Assert.AreEqual(CType(o2, Integer), 0) 174 Else 175 Assert.Fail() 176 End If 177 End Sub 178 179 <Test()> _ 180 Sub TestOperatorsNegate4() 181 Dim o1, o2 As Object 182 o1 = CType(2, Byte) 183 o2 = Operators.NegateObject(o1) 184 If (TypeOf o2 Is Short) Then 185 Assert.AreEqual(CType(o2, Short), -2) 186 Else 187 Assert.Fail() 188 End If 189 End Sub 190 191 <Test()> _ 192 Sub TestOperatorsNegate5() 193 Dim o1, o2 As Object 194 o1 = CType(0, Byte) 195 o2 = Operators.NegateObject(o1) 196 If (TypeOf o2 Is Short) Then 197 Assert.AreEqual(CType(o2, Short), 0) 198 Else 199 Assert.Fail() 200 End If 201 End Sub 202 203 <Test()> _ 204 Sub TestOperatorsNegate6() 205 Dim o1, o2 As Object 206 o1 = "1"c 207 Try 208 o2 = Operators.NegateObject(o1) 209 Catch ex As InvalidCastException 210 Return 211 End Try 212 Assert.Fail() 213 End Sub 214 215 <Test()> _ 216 Sub TestOperatorsNegate7() 217 Dim o1 As DateTime = DateTime.Now 218 Dim o2 As Object 219 Try 220 o2 = Operators.NegateObject(o1) 221 Catch ex As InvalidCastException 222 Return 223 End Try 224 Assert.Fail() 225 End Sub 226 227 <Test()> _ 228 Sub TestOperatorsNegate8() 229 Dim o1, o2 As Object 230 o1 = CType(-1, Decimal) 231 o2 = Operators.NegateObject(o1) 232 If (TypeOf o2 Is Decimal) Then 233 Assert.AreEqual(CType(o2, Decimal), 1) 234 Else 235 Assert.Fail() 236 End If 237 End Sub 238 239 <Test()> _ 240 Sub TestOperatorsNegate9() 241 Dim o1, o2 As Object 242 o1 = CType(-1, Double) 243 o2 = Operators.NegateObject(o1) 244 If (TypeOf o2 Is Double) Then 245 Assert.AreEqual(CType(o2, Double), 1) 246 Else 247 Assert.Fail() 248 End If 249 End Sub 250 251 <Test()> _ 252 Sub TestOperatorsNegate10() 253 Dim o1, o2 As Object 254 o1 = CType(Int16.MinValue, Int16) 255 o2 = Operators.NegateObject(o1) 256 If (TypeOf o2 Is Int32) Then 257 Assert.AreEqual(CType(o2, Int32), Int16.MaxValue + 1) 258 Else 259 Assert.Fail() 260 End If 261 End Sub 262 263 <Test()> _ 264 Sub TestOperatorsNegate11() 265 Dim o1, o2 As Object 266 o1 = "1L" 267 Try 268 o2 = Operators.NegateObject(o1) 269 Catch ex As InvalidCastException 270 Return 271 End Try 272 Assert.Fail() 273 End Sub 274 275 <Test()> _ 276 Sub TestOperatorsNegate12() 277 Dim o1, o2 As Object 278 o1 = "1" 279 o2 = Operators.NegateObject(o1) 280 If (TypeOf o2 Is Double) Then 281 Assert.AreEqual(CType(o2, Double), -1) 282 Else 283 Assert.Fail() 284 End If 285 End Sub 286 287 <Test()> _ 288 Sub TestOperatorsNegate13() 289 Dim o1, o2 As Object 290 o1 = 3US 291 o2 = Operators.NegateObject(o1) 292 If (TypeOf o2 Is Integer) Then 293 Assert.AreEqual(CType(o2, Integer), -3) 294 Else 295 Assert.Fail() 296 End If 297 End Sub 298 299 <Test()> _ 300 Sub TestOperatorsNegate14() 301 Dim o1, o2 As Object 302 o1 = New OperatorsImplementer() 303 o2 = Operators.NegateObject(o1) 304 Assert.AreEqual(o2, "-ok") 305 End Sub 306 307 <Test()> _ 308 Sub TestOperatorsNegate15() 309 Dim o1, o2 As Object 310 o1 = 3UL 311 o2 = Operators.NegateObject(o1) 312 If (TypeOf o2 Is Decimal) Then 313 Assert.AreEqual(CType(o2, Decimal), -3) 314 Else 315 Assert.Fail() 316 End If 317 End Sub 318 319 <Test()> _ 320 Sub TestOperatorsPlus1() 321 Dim o1, o2 As Object 322 o1 = True 323 o2 = Operators.PlusObject(o1) 324 If (TypeOf o2 Is Short) Then 325 Assert.AreEqual(CType(o2, Short), -1S) 326 Else 327 Assert.Fail() 328 End If 329 End Sub 330 331 <Test()> _ 332 Sub TestOperatorsPlus2() 333 Dim o1, o2 As Object 334 o1 = Nothing 335 o2 = Operators.PlusObject(o1) 336 If (TypeOf o2 Is Integer) Then 337 Assert.AreEqual(CType(o2, Integer), 0) 338 Else 339 Assert.Fail() 340 End If 341 End Sub 342 343 <Test()> _ 344 Sub TestOperatorsPlus3() 345 Dim o1, o2 As Object 346 o1 = DBNull.Value 347 Try 348 o2 = Operators.PlusObject(o1) 349 Catch ex As InvalidCastException 350 Return 351 End Try 352 Assert.Fail() 353 End Sub 354 355 <Test()> _ 356 Sub TestOperatorsPlus4() 357 Dim o1, o2 As Object 358 o1 = CType(2, Byte) 359 o2 = Operators.PlusObject(o1) 360 If (TypeOf o2 Is Byte) Then 361 Assert.AreEqual(CType(o2, Byte), 2) 362 Else 363 Assert.Fail() 364 End If 365 End Sub 366 367 <Test()> _ 368 Sub TestOperatorsPlus5() 369 Dim o1, o2 As Object 370 o1 = CType(0, Byte) 371 o2 = Operators.PlusObject(o1) 372 If (TypeOf o2 Is Byte) Then 373 Assert.AreEqual(CType(o2, Byte), 0) 374 Else 375 Assert.Fail() 376 End If 377 End Sub 378 379 <Test()> _ 380 Sub TestOperatorsPlus6() 381 Dim o1, o2 As Object 382 o1 = "1"c 383 Try 384 o2 = Operators.PlusObject(o1) 385 Catch ex As InvalidCastException 386 Return 387 End Try 388 Assert.Fail() 389 End Sub 390 391 <Test()> _ 392 Sub TestOperatorsPlus7() 393 Dim o2 As Object 394 Dim o1 As DateTime = DateTime.Now 395 Try 396 o2 = Operators.PlusObject(o1) 397 Catch ex As InvalidCastException 398 Return 399 End Try 400 Assert.Fail() 401 End Sub 402 403 <Test()> _ 404 Sub TestOperatorsPlus8() 405 Dim o1, o2 As Object 406 o1 = CType(-1, Decimal) 407 o2 = Operators.PlusObject(o1) 408 If (TypeOf o2 Is Decimal) Then 409 Assert.AreEqual(CType(o2, Decimal), -1) 410 Else 411 Assert.Fail() 412 End If 413 End Sub 414 415 416 <Test()> _ 417 Sub TestOperatorsPlus9() 418 Dim o1, o2 As Object 419 o1 = CType(-1, Double) 420 o2 = Operators.PlusObject(o1) 421 If (TypeOf o2 Is Double) Then 422 Assert.AreEqual(CType(o2, Double), -1) 423 Else 424 Assert.Fail() 425 End If 426 End Sub 427 428 <Test()> _ 429 Sub TestOperatorsPlus10() 430 Dim o1, o2 As Object 431 o1 = CType(Int16.MinValue, Int16) 432 o2 = Operators.PlusObject(o1) 433 If (TypeOf o2 Is Short) Then 434 Assert.AreEqual(CType(o2, Int32), Int16.MinValue) 435 Else 436 Assert.Fail() 437 End If 438 End Sub 439 440 <Test()> _ 441 Sub TestOperatorsPlus11() 442 Dim o1, o2 As Object 443 o1 = "1L" 444 445 Try 446 o2 = Operators.PlusObject(o1) 447 Catch ex As InvalidCastException 448 Return 449 End Try 450 Assert.Fail() 451 End Sub 452 453 <Test()> _ 454 Sub TestOperatorsPlus12() 455 Dim o1, o2 As Object 456 o1 = "1" 457 o2 = Operators.PlusObject(o1) 458 If (TypeOf o2 Is Double) Then 459 Assert.AreEqual(CType(o2, Double), 1) 460 Else 461 Assert.Fail() 462 End If 463 End Sub 464 465 <Test()> _ 466 Sub TestOperatorsPlus13() 467 Dim o1, o2 As Object 468 o1 = 3US 469 o2 = Operators.PlusObject(o1) 470 If (TypeOf o2 Is UShort) Then 471 Assert.AreEqual(CType(o2, Integer), 3) 472 Else 473 Assert.Fail() 474 End If 475 End Sub 476 477 <Test()> _ 478 Sub TestOperatorsPlus14() 479 Dim o1, o2 As Object 480 o1 = New OperatorsImplementer() 481 o2 = Operators.PlusObject(o1) 482 Assert.AreEqual(o2, "+ok") 483 End Sub 484 485 <Test()> _ 486 Sub TestOperatorsNot1() 487 Dim o1, o2 As Object 488 o1 = True 489 o2 = Operators.NotObject(o1) 490 If (TypeOf o2 Is Boolean) Then 491 Assert.AreEqual(CType(o2, Boolean), False) 492 Else 493 Assert.Fail() 494 End If 495 End Sub 496 497 <Test()> _ 498 Sub TestOperatorsNot2() 499 Dim o1, o2 As Object 500 o1 = Nothing 501 o2 = Operators.NotObject(o1) 502 If (TypeOf o2 Is Integer) Then 503 Assert.AreEqual(CType(o2, Integer), -1) 504 Else 505 Assert.Fail() 506 End If 507 End Sub 508 509 <Test()> _ 510 Sub TestOperatorsNot3() 511 Dim o1, o2 As Object 512 o1 = DBNull.Value 513 Try 514 o2 = Operators.NotObject(o1) 515 Catch ex As InvalidCastException 516 Return 517 End Try 518 Assert.Fail() 519 End Sub 520 521 <Test()> _ 522 Sub TestOperatorsNot4() 523 Dim o1, o2 As Object 524 o1 = CType(2, Byte) 525 o2 = Operators.NotObject(o1) 526 If (TypeOf o2 Is Byte) Then 527 Assert.AreEqual(CType(o2, Byte), (Not CType(o1, Byte))) 528 Else 529 Assert.Fail() 530 End If 531 End Sub 532 533 <Test()> _ 534 Sub TestOperatorsNot5() 535 Dim o1, o2 As Object 536 o1 = CType(0, Byte) 537 o2 = Operators.NotObject(o1) 538 If (TypeOf o2 Is Byte) Then 539 Assert.AreEqual(CType(o2, Byte), (Not CType(o1, Byte))) 540 Else 541 Assert.Fail() 542 End If 543 End Sub 544 545 <Test()> _ 546 Sub TestOperatorsNot6() 547 Dim o1, o2 As Object 548 o1 = "1"c 549 Try 550 o2 = Operators.NotObject(o1) 551 Catch ex As InvalidCastException 552 Return 553 End Try 554 Assert.Fail() 555 End Sub 556 557 <Test()> _ 558 Sub TestOperatorsNot7() 559 Dim o2 As Object 560 Dim o1 As DateTime = DateTime.Now 561 Try 562 o2 = Operators.NotObject(o1) 563 Catch ex As InvalidCastException 564 Return 565 End Try 566 Assert.Fail() 567 End Sub 568 569 <Test()> _ 570 Sub TestOperatorsNot8() 571 Dim o1, o2 As Object 572 o1 = "1.1" 573 o2 = Operators.NotObject(o1) 574 If (TypeOf o2 Is Long) Then 575 Assert.AreEqual(o2, -2L) 576 Else 577 Assert.Fail() 578 End If 579 End Sub 580 581 <Test()> _ 582 Sub TestOperatorsNot9() 583 Dim o1, o2 As Object 584 o1 = 1.1 585 o2 = Operators.NotObject(o1) 586 If (TypeOf o2 Is Long) Then 587 Assert.AreEqual(o2, -2L) 588 Else 589 Assert.Fail() 590 End If 591 End Sub 592 593 <Test()> _ 594 Sub TestOperatorsNot10() 595 Dim o1, o2 As Object 596 o1 = New OperatorsImplementer() 597 o2 = Operators.NotObject(o1) 598 Assert.AreEqual(o2, "!ok") 599 End Sub 600 601 <Test()> _ 602 Sub TestOperatorsRightShiftObject1() 603 Dim o1, o2, o3 As Object 604 o1 = 4 605 o2 = -1 606 o3 = Operators.RightShiftObject(o1, o2) 607 If (TypeOf o3 Is Integer) Then 608 Assert.AreEqual(CType(o3, Integer), (4 >> -1)) 609 Else 610 Assert.Fail() 611 End If 612 End Sub 613 614 <Test()> _ 615 Sub TestOperatorsRightShiftObject2() 616 Dim o1, o2, o3 As Object 617 o1 = 4 618 o2 = Nothing 619 o3 = Operators.RightShiftObject(o1, o2) 620 If (TypeOf o3 Is Integer) Then 621 Assert.AreEqual(CType(o3, Integer), (4 >> 0)) 622 Else 623 Assert.Fail() 624 End If 625 End Sub 626 627 <Test()> _ 628 Sub TestOperatorsRightShiftObject3() 629 Dim o1, o2, o3 As Object 630 o1 = Nothing 631 o2 = 1 632 o3 = Operators.RightShiftObject(o1, o2) 633 If (TypeOf o3 Is Integer) Then 634 Assert.AreEqual(CType(o3, Integer), (0 >> 1)) 635 Else 636 Assert.Fail() 637 End If 638 End Sub 639 640 <Test()> _ 641 Sub TestOperatorsRightShiftObject4() 642 Dim o1, o2, o3 As Object 643 o1 = Nothing 644 o2 = Nothing 645 o3 = Operators.RightShiftObject(o1, o2) 646 If (TypeOf o3 Is Integer) Then 647 Assert.AreEqual(CType(o3, Integer), (0 >> 0)) 648 Else 649 Assert.Fail() 650 End If 651 End Sub 652 653 <Test()> _ 654 Sub TestOperatorsRightShiftObject5() 655 Dim o1, o2, o3 As Object 656 o1 = Nothing 657 o2 = False 658 o3 = Operators.RightShiftObject(o1, o2) 659 If (TypeOf o3 Is Integer) Then 660 Assert.AreEqual(CType(o3, Integer), (0 >> 0)) 661 Else 662 Assert.Fail() 663 End If 664 End Sub 665 666 <Test()> _ 667 Sub TestOperatorsRightShiftObject6() 668 Dim o1, o2, o3 As Object 669 o1 = DBNull.Value 670 o2 = 1 671 Try 672 o3 = Operators.RightShiftObject(o1, o2) 673 Catch ex As InvalidCastException 674 Return 675 End Try 676 Assert.Fail() 677 End Sub 678 679 <Test()> _ 680 Sub TestOperatorsRightShiftObject7() 681 Dim o1, o2, o3 As Object 682 o1 = 1 683 o2 = DBNull.Value 684 Try 685 o3 = Operators.RightShiftObject(o1, o2) 686 Catch ex As InvalidCastException 687 Return 688 End Try 689 Assert.Fail() 690 End Sub 691 692 <Test()> _ 693 Sub TestOperatorsRightShiftObject8() 694 Dim o1, o2, o3 As Object 695 o1 = 1 696 o2 = DateTime.Now 697 Try 698 o3 = Operators.RightShiftObject(o1, o2) 699 Catch ex As InvalidCastException 700 Return 701 End Try 702 Assert.Fail() 703 End Sub 704 705 <Test()> _ 706 Sub TestOperatorsRightShiftObject9() 707 Dim o1, o2, o3 As Object 708 o1 = DateTime.Now 709 o2 = 1 710 Try 711 o3 = Operators.RightShiftObject(o1, o2) 712 Catch ex As InvalidCastException 713 Return 714 End Try 715 Assert.Fail() 716 End Sub 717 718 <Test()> _ 719 Sub TestOperatorsRightShiftObject10() 720 Dim o1, o2, o3 As Object 721 o1 = 1 722 o2 = DateTime.Now 723 Try 724 o3 = Operators.RightShiftObject(o1, o2) 725 Catch ex As InvalidCastException 726 Return 727 End Try 728 Assert.Fail() 729 End Sub 730 731 <Test()> _ 732 Sub TestOperatorsRightShiftObject11() 733 Dim o1, o2, o3 As Object 734 o1 = DateTime.Now 735 o2 = 1 736 Try 737 o3 = Operators.RightShiftObject(o1, o2) 738 Catch ex As InvalidCastException 739 Return 740 End Try 741 Assert.Fail() 742 End Sub 743 744 <Test()> _ 745 Sub TestOperatorsRightShiftObject12() 746 Dim o1, o2, o3 As Object 747 o1 = "1"c 748 o2 = 1 749 Try 750 o3 = Operators.RightShiftObject(o1, o2) 751 Catch ex As InvalidCastException 752 Return 753 End Try 754 Assert.Fail() 755 End Sub 756 757 <Test()> _ 758 Sub TestOperatorsRightShiftObject13() 759 Dim o1, o2, o3 As Object 760 o1 = 1 761 o2 = "1"c 762 Try 763 o3 = Operators.RightShiftObject(o1, o2) 764 Catch ex As InvalidCastException 765 Return 766 End Try 767 Assert.Fail() 768 End Sub 769 770 <Test()> _ 771 Sub TestOperatorsRightShiftObject14() 772 Dim o1, o2, o3 As Object 773 o1 = "4" 774 o2 = 1 775 o3 = Operators.RightShiftObject(o1, o2) 776 If (TypeOf o3 Is Long) Then 777 Assert.AreEqual(CType(o3, Integer), (4 >> 1)) 778 Else 779 Assert.Fail() 780 End If 781 End Sub 782 783 <Test()> _ 784 Sub TestOperatorsRightShiftObject15() 785 Dim o1, o2, o3 As Object 786 o1 = 4 787 o2 = "1" 788 o3 = Operators.RightShiftObject(o1, o2) 789 If (TypeOf o3 Is Integer) Then 790 Assert.AreEqual(CType(o3, Integer), (4 >> 1)) 791 Else 792 Assert.Fail() 793 End If 794 End Sub 795 796 <Test()> _ 797 Sub TestOperatorsRightShiftObject16() 798 Dim o1, o2, o3 As Object 799 o1 = True 800 o2 = 1 801 o3 = Operators.RightShiftObject(o1, o2) 802 If (TypeOf o3 Is Short) Then 803 Assert.AreEqual(CType(o3, Short), (-1S >> 1)) 804 Else 805 Assert.Fail() 806 End If 807 End Sub 808 809 <Test()> _ 810 Sub TestOperatorsRightShiftObject17() 811 Dim o1, o2, o3 As Object 812 o1 = 4D 813 o2 = 1 814 o3 = Operators.RightShiftObject(o1, o2) 815 If (TypeOf o3 Is Long) Then 816 Assert.AreEqual(CType(o3, Long), (4L >> 1)) 817 Else 818 Assert.Fail() 819 End If 820 End Sub 821 822 <Test()> _ 823 Sub TestOperatorsRightShiftObject18() 824 Dim o1, o2, o3 As Object 825 o1 = 4.4D 826 o2 = 1 827 o3 = Operators.RightShiftObject(o1, o2) 828 If (TypeOf o3 Is Long) Then 829 Assert.AreEqual(CType(o3, Long), (4L >> 1)) 830 Else 831 Assert.Fail() 832 End If 833 End Sub 834 835 <Test()> _ 836 Sub TestOperatorsRightShiftObject19() 837 Dim o1, o2, o3 As Object 838 o1 = 4 839 o2 = 1 840 o3 = Operators.RightShiftObject(o1, o2) 841 If (TypeOf o3 Is Integer) Then 842 Assert.AreEqual(CType(o3, Integer), (4 >> 1)) 843 Else 844 Assert.Fail() 845 End If 846 End Sub 847 848 <Test()> _ 849 Sub TestOperatorsRightShiftObject20() 850 Dim o1, o2, o3 As Object 851 o1 = 4 852 o2 = Int32.MinValue + 1 853 o3 = Operators.RightShiftObject(o1, o2) 854 If (TypeOf o3 Is Integer) Then 855 Assert.AreEqual(CType(o3, Integer), (4 >> (Int32.MinValue + 1))) 856 Else 857 Assert.Fail() 858 End If 859 End Sub 860 861 <Test()> _ 862 Sub TestOperatorsRightShiftObject21() 863 Dim o1, o3 As Object 864 o1 = New OperatorsImplementer() 865 o3 = Operators.RightShiftObject(o1, 1) 866 Assert.AreEqual(o3, "ok>>") 867 End Sub 868 869 <Test()> _ 870 Sub TestOperatorsLeftShiftObject1() 871 Dim o1, o2, o3 As Object 872 o1 = 4 873 o2 = -1 874 o3 = Operators.LeftShiftObject(o1, o2) 875 If (TypeOf o3 Is Integer) Then 876 Assert.AreEqual(CType(o3, Integer), (4 << -1)) 877 Else 878 Assert.Fail() 879 End If 880 End Sub 881 882 <Test()> _ 883 Sub TestOperatorsLeftShiftObject2() 884 Dim o1, o2, o3 As Object 885 o1 = 4 886 o2 = Nothing 887 o3 = Operators.LeftShiftObject(o1, o2) 888 If (TypeOf o3 Is Integer) Then 889 Assert.AreEqual(CType(o3, Integer), (4 << 0)) 890 Else 891 Assert.Fail() 892 End If 893 End Sub 894 895 <Test()> _ 896 Sub TestOperatorsLeftShiftObject3() 897 Dim o1, o2, o3 As Object 898 o1 = Nothing 899 o2 = 1 900 o3 = Operators.LeftShiftObject(o1, o2) 901 If (TypeOf o3 Is Integer) Then 902 Assert.AreEqual(CType(o3, Integer), (0 << 1)) 903 Else 904 Assert.Fail() 905 End If 906 End Sub 907 908 <Test()> _ 909 Sub TestOperatorsLeftShiftObject4() 910 Dim o1, o2, o3 As Object 911 o1 = Nothing 912 o2 = Nothing 913 o3 = Operators.LeftShiftObject(o1, o2) 914 If (TypeOf o3 Is Integer) Then 915 Assert.AreEqual(CType(o3, Integer), (0 << 0)) 916 Else 917 Assert.Fail() 918 End If 919 End Sub 920 921 <Test()> _ 922 Sub TestOperatorsLeftShiftObject5() 923 Dim o1, o2, o3 As Object 924 o1 = Nothing 925 o2 = False 926 o3 = Operators.LeftShiftObject(o1, o2) 927 If (TypeOf o3 Is Integer) Then 928 Assert.AreEqual(CType(o3, Integer), (0 << 0)) 929 Else 930 Assert.Fail() 931 End If 932 End Sub 933 934 <Test()> _ 935 Sub TestOperatorsLeftShiftObject6() 936 Dim o1, o2, o3 As Object 937 o1 = DBNull.Value 938 o2 = 1 939 Try 940 o3 = Operators.LeftShiftObject(o1, o2) 941 Catch ex As InvalidCastException 942 Return 943 End Try 944 Assert.Fail() 945 End Sub 946 947 <Test()> _ 948 Sub TestOperatorsLeftShiftObject7() 949 Dim o1, o2, o3 As Object 950 o1 = 1 951 o2 = DBNull.Value 952 Try 953 o3 = Operators.LeftShiftObject(o1, o2) 954 Catch ex As InvalidCastException 955 Return 956 End Try 957 Assert.Fail() 958 End Sub 959 960 <Test()> _ 961 Sub TestOperatorsLeftShiftObject8() 962 Dim o1, o2, o3 As Object 963 o1 = 1 964 o2 = DateTime.Now 965 Try 966 o3 = Operators.LeftShiftObject(o1, o2) 967 Catch ex As InvalidCastException 968 Return 969 End Try 970 Assert.Fail() 971 End Sub 972 973 <Test()> _ 974 Sub TestOperatorsLeftShiftObject9() 975 Dim o1, o2, o3 As Object 976 o1 = DateTime.Now 977 o2 = 1 978 Try 979 o3 = Operators.LeftShiftObject(o1, o2) 980 Catch ex As InvalidCastException 981 Return 982 End Try 983 Assert.Fail() 984 End Sub 985 986 <Test()> _ 987 Sub TestOperatorsLeftShiftObject10() 988 Dim o1, o2, o3 As Object 989 o1 = 1 990 o2 = DateTime.Now 991 Try 992 o3 = Operators.LeftShiftObject(o1, o2) 993 Catch ex As InvalidCastException 994 Return 995 End Try 996 Assert.Fail() 997 End Sub 998 999 <Test()> _ 1000 Sub TestOperatorsLeftShiftObject11() 1001 Dim o1, o2, o3 As Object 1002 o1 = DateTime.Now 1003 o2 = 1 1004 Try 1005 o3 = Operators.LeftShiftObject(o1, o2) 1006 Catch ex As InvalidCastException 1007 Return 1008 End Try 1009 Assert.Fail() 1010 End Sub 1011 1012 <Test()> _ 1013 Sub TestOperatorsLeftShiftObject12() 1014 Dim o1, o2, o3 As Object 1015 o1 = "1"c 1016 o2 = 1 1017 Try 1018 o3 = Operators.LeftShiftObject(o1, o2) 1019 Catch ex As InvalidCastException 1020 Return 1021 End Try 1022 Assert.Fail() 1023 End Sub 1024 1025 <Test()> _ 1026 Sub TestOperatorsLeftShiftObject13() 1027 Dim o1, o2, o3 As Object 1028 o1 = 1 1029 o2 = "1"c 1030 Try 1031 o3 = Operators.LeftShiftObject(o1, o2) 1032 Catch ex As InvalidCastException 1033 Return 1034 End Try 1035 Assert.Fail() 1036 End Sub 1037 1038 <Test()> _ 1039 Sub TestOperatorsLeftShiftObject14() 1040 Dim o1, o2, o3 As Object 1041 o1 = "4" 1042 o2 = 1 1043 o3 = Operators.LeftShiftObject(o1, o2) 1044 If (TypeOf o3 Is Long) Then 1045 Assert.AreEqual(CType(o3, Integer), (4 << 1)) 1046 Else 1047 Assert.Fail() 1048 End If 1049 End Sub 1050 1051 <Test()> _ 1052 Sub TestOperatorsLeftShiftObject15() 1053 Dim o1, o2, o3 As Object 1054 o1 = 4 1055 o2 = "1" 1056 o3 = Operators.LeftShiftObject(o1, o2) 1057 If (TypeOf o3 Is Integer) Then 1058 Assert.AreEqual(CType(o3, Integer), (4 << 1)) 1059 Else 1060 Assert.Fail() 1061 End If 1062 End Sub 1063 1064 <Test()> _ 1065 Sub TestOperatorsLeftShiftObject16() 1066 Dim o1, o2, o3 As Object 1067 o1 = True 1068 o2 = 1 1069 o3 = Operators.LeftShiftObject(o1, o2) 1070 If (TypeOf o3 Is Short) Then 1071 Assert.AreEqual(CType(o3, Short), (-1S << 1)) 1072 Else 1073 Assert.Fail() 1074 End If 1075 End Sub 1076 1077 <Test()> _ 1078 Sub TestOperatorsLeftShiftObject17() 1079 Dim o1, o2, o3 As Object 1080 o1 = 4D 1081 o2 = 1 1082 o3 = Operators.LeftShiftObject(o1, o2) 1083 If (TypeOf o3 Is Long) Then 1084 Assert.AreEqual(CType(o3, Long), (4L << 1)) 1085 Else 1086 Assert.Fail() 1087 End If 1088 End Sub 1089 1090 <Test()> _ 1091 Sub TestOperatorsLeftShiftObject18() 1092 Dim o1, o2, o3 As Object 1093 o1 = 4.4D 1094 o2 = 1 1095 o3 = Operators.LeftShiftObject(o1, o2) 1096 If (TypeOf o3 Is Long) Then 1097 Assert.AreEqual(CType(o3, Long), (4L << 1)) 1098 Else 1099 Assert.Fail() 1100 End If 1101 End Sub 1102 1103 <Test()> _ 1104 Sub TestOperatorsLeftShiftObject19() 1105 Dim o1, o2, o3 As Object 1106 o1 = 4 1107 o2 = 1 1108 o3 = Operators.LeftShiftObject(o1, o2) 1109 If (TypeOf o3 Is Integer) Then 1110 Assert.AreEqual(CType(o3, Integer), (4 << 1)) 1111 Else 1112 Assert.Fail() 1113 End If 1114 End Sub 1115 1116 <Test()> _ 1117 Sub TestOperatorsLeftShiftObject20() 1118 Dim o1, o2, o3 As Object 1119 o1 = 4 1120 o2 = Int32.MinValue + 1 1121 o3 = Operators.LeftShiftObject(o1, o2) 1122 If (TypeOf o3 Is Integer) Then 1123 Assert.AreEqual(CType(o3, Integer), (4 << (Int32.MinValue + 1))) 1124 Else 1125 Assert.Fail() 1126 End If 1127 End Sub 1128 1129 <Test()> _ 1130 Sub TestOperatorsLeftShiftObject21() 1131 Dim o1, o3 As Object 1132 o1 = New OperatorsImplementer() 1133 o3 = Operators.LeftShiftObject(o1, 1) 1134 Assert.AreEqual(o3, "ok<<") 1135 End Sub 1136 1137 <Test()> _ 1138 Sub TestOperatorsSubtract1() 1139 Dim o1, o2, o3 As Object 1140 o1 = "a" 1141 o2 = "b" 1142 Try 1143 o3 = Operators.SubtractObject(o1, o2) 1144 Catch ex As InvalidCastException 1145 Return 1146 End Try 1147 Assert.Fail() 1148 End Sub 1149 1150 <Test()> _ 1151 Sub TestOperatorsSubtract2() 1152 Dim o1, o2, o3 As Object 1153 o1 = "d" 1154 o2 = 1 1155 Try 1156 o3 = Operators.SubtractObject(o1, o2) 1157 Catch ex As InvalidCastException 1158 Return 1159 End Try 1160 Assert.Fail() 1161 End Sub 1162 1163 <Test()> _ 1164 Sub TestOperatorsSubtract3() 1165 Dim o1, o2, o3 As Object 1166 o1 = "1" 1167 o2 = 1 1168 o3 = Operators.SubtractObject(o1, o2) 1169 If (TypeOf o3 Is Double) Then 1170 Assert.AreEqual(CType(o3, Double), 0D) 1171 Else 1172 Assert.Fail() 1173 End If 1174 End Sub 1175 1176 <Test()> _ 1177 Sub TestOperatorsSubtract4() 1178 Dim o1, o2, o3 As Object 1179 o1 = 1 1180 o2 = 1 1181 o3 = Operators.SubtractObject(o1, o2) 1182 If (TypeOf o3 Is Integer) Then 1183 Assert.AreEqual(CType(o3, Integer), 0) 1184 Else 1185 Assert.Fail() 1186 End If 1187 End Sub 1188 1189 <Test()> _ 1190 Sub TestOperatorsSubtract5() 1191 Dim o1, o2, o3 As Object 1192 o1 = 1.1 1193 o2 = 1.1 1194 o3 = Operators.SubtractObject(o1, o2) 1195 If (TypeOf o3 Is Double) Then 1196 Assert.AreEqual(CType(o3, Double), 0D) 1197 Else 1198 Assert.Fail() 1199 End If 1200 End Sub 1201 1202 <Test()> _ 1203 Sub TestOperatorsSubtract6() 1204 Dim o1, o2, o3 As Object 1205 o1 = DateTime.Now 1206 o2 = DateTime.Now 1207 o3 = Operators.SubtractObject(o1, o2) 1208 If (TypeOf o3 Is TimeSpan) Then 1209 Assert.AreEqual(CType(o3, TimeSpan).Ticks, (CType(o1, DateTime).Ticks - CType(o2, DateTime).Ticks)) 1210 Else 1211 Assert.Fail() 1212 End If 1213 End Sub 1214 1215 <Test()> _ 1216 Sub TestOperatorsSubtract7() 1217 Dim o1, o2, o3 As Object 1218 o1 = "a"c 1219 o2 = "b"c 1220 Try 1221 o3 = Operators.SubtractObject(o1, o2) 1222 Catch ex As InvalidCastException 1223 Return 1224 End Try 1225 Assert.Fail() 1226 End Sub 1227 1228 <Test()> _ 1229 Sub TestOperatorsSubtract8() 1230 Dim o1, o2, o3 As Object 1231 o1 = 1 1232 o2 = Nothing 1233 o3 = Operators.SubtractObject(o1, o2) 1234 If (TypeOf o3 Is Integer) Then 1235 Assert.AreEqual(o3, 1) 1236 Else 1237 Assert.Fail() 1238 End If 1239 End Sub 1240 1241 <Test()> _ 1242 Sub TestOperatorsSubtract9() 1243 Dim o1, o2, o3 As Object 1244 o1 = Nothing 1245 o2 = 1 1246 o3 = Operators.SubtractObject(o1, o2) 1247 If (TypeOf o3 Is Integer) Then 1248 Assert.AreEqual(o3, -1) 1249 Else 1250 Assert.Fail() 1251 End If 1252 End Sub 1253 1254 <Test()> _ 1255 Sub TestOperatorsSubtract10() 1256 Dim o1, o2, o3 As Object 1257 o1 = Nothing 1258 o2 = Nothing 1259 o3 = Operators.SubtractObject(o1, o2) 1260 Assert.AreEqual(o3, 0) 1261 End Sub 1262 1263 <Test()> _ 1264 Sub TestOperatorsSubtract11() 1265 Dim o3 As Object 1266 Dim o1, o2 As Integer 1267 o1 = Integer.MaxValue 1268 o2 = Integer.MinValue 1269 o3 = Operators.SubtractObject(o1, o2) 1270 If (TypeOf o3 Is Long) Then 1271 Assert.AreEqual(o3, CType(Integer.MaxValue, Long) - CType(Integer.MinValue, Long)) 1272 Else 1273 Assert.Fail() 1274 End If 1275 End Sub 1276 1277 <Test()> _ 1278 Sub TestOperatorsSubtract12() 1279 Dim o3 As Object 1280 Dim o1, o2 As Short 1281 o1 = 1 1282 o2 = 1 1283 o3 = Operators.SubtractObject(o1, o2) 1284 If (TypeOf o3 Is Short) Then 1285 Assert.AreEqual(CType(o3, Short), 0) 1286 Else 1287 Assert.Fail() 1288 End If 1289 End Sub 1290 1291 <Test()> _ 1292 Sub TestOperatorsSubtract13() 1293 Dim o3 As Object 1294 Dim o1, o2 As Short 1295 o1 = 1 1296 o2 = -1 1297 o3 = Operators.SubtractObject(o1, o2) 1298 If (TypeOf o3 Is Short) Then 1299 Assert.AreEqual(CType(o3, Short), 2) 1300 Else 1301 Assert.Fail() 1302 End If 1303 End Sub 1304 1305 <Test()> _ 1306 Sub TestOperatorsSubtract14() 1307 Dim o3 As Object 1308 Dim o1, o2 As UShort 1309 o1 = 1 1310 o2 = 1 1311 o3 = Operators.SubtractObject(o1, o2) 1312 If (TypeOf o3 Is UShort) Then 1313 Assert.AreEqual(CType(o3, UShort), 0) 1314 Else 1315 Assert.Fail() 1316 End If 1317 End Sub 1318 1319 <Test()> _ 1320 Sub TestOperatorsSubtract15() 1321 Dim o3 As Object 1322 Dim o1 As Short 1323 Dim o2 As Long 1324 o1 = -2 1325 o2 = 1 1326 o3 = Operators.SubtractObject(o1, o2) 1327 If (TypeOf o3 Is Long) Then 1328 Assert.AreEqual(CType(o3, Long), -3L) 1329 Else 1330 Assert.Fail() 1331 End If 1332 End Sub 1333 1334 <Test()> _ 1335 Sub TestOperatorsSubtract16() 1336 Dim o1, o2 As Long 1337 Dim o3 As Object 1338 o1 = 1L 1339 o2 = 1L 1340 o3 = Operators.SubtractObject(o1, o2) 1341 If (TypeOf o3 Is Long) Then 1342 Assert.AreEqual(CType(o3, Long), 0L) 1343 Else 1344 Assert.Fail() 1345 End If 1346 End Sub 1347 1348 <Test()> _ 1349 Sub TestOperatorsSubtract17() 1350 Dim o1, o2 As Boolean 1351 Dim o3 As Object 1352 o1 = True 1353 o2 = False 1354 o3 = Operators.SubtractObject(o1, o2) 1355 If (TypeOf o3 Is Short) Then 1356 Assert.AreEqual(CType(o3, Short), -1) 1357 Else 1358 Assert.Fail() 1359 End If 1360 End Sub 1361 1362 <Test()> _ 1363 Sub TestOperatorsSubtract18() 1364 Dim o3 As Object 1365 Try 1366 o3 = Operators.SubtractObject(DBNull.Value, DBNull.Value) 1367 Catch ex As InvalidCastException 1368 Return 1369 End Try 1370 Assert.Fail() 1371 End Sub 1372 1373 <Test()> _ 1374 Sub TestOperatorsSubtract19() 1375 Dim o1, o2 As Byte 1376 Dim o3 As Object 1377 o1 = 0 1378 o2 = 1 1379 o3 = Operators.SubtractObject(o1, o2) 1380 If (TypeOf o3 Is Short) Then 1381 Assert.AreEqual(CType(o3, Short), -1) 1382 Else 1383 Assert.Fail() 1384 End If 1385 End Sub 1386 1387 <Test()> _ 1388 Sub TestOperatorsSubtract20() 1389 Dim o1, o2 As Byte 1390 Dim o3 As Object 1391 o1 = Byte.MaxValue 1392 o2 = 0 1393 o3 = Operators.SubtractObject(o1, o2) 1394 If (TypeOf o3 Is Byte) Then 1395 Assert.AreEqual(CType(o3, Byte), Byte.MaxValue) 1396 Else 1397 Assert.Fail() 1398 End If 1399 End Sub 1400 1401 <Test()> _ 1402 Sub TestOperatorsSubtract21() 1403 Dim o1, o2, o3 As Object 1404 o1 = New OperatorsImplementer() 1405 o2 = "abc" 1406 o3 = Operators.SubtractObject(o1, o2) 1407 Assert.AreEqual(o3, "ok-") 1408 End Sub 1409 1410 <Test()> _ 1411 Sub TestOperatorsSubtract22() 1412 Dim o1, o2, o3 As Object 1413 o1 = "abc" 1414 o2 = New OperatorsImplementer() 1415 Try 1416 o3 = Operators.SubtractObject(o1, o2) 1417 Catch ex As InvalidCastException 1418 Return 1419 End Try 1420 Assert.Fail() 1421 End Sub 1422 1423 <Test()> _ 1424 Sub TestOperatorsAdd1() 1425 Dim o1, o2, o3 As Object 1426 o1 = "a" 1427 o2 = "b" 1428 o3 = Operators.AddObject(o1, o2) 1429 Assert.AreEqual(o3, "ab") 1430 End Sub 1431 1432 <Test()> _ 1433 Sub TestOperatorsAdd2() 1434 Dim o1, o2, o3 As Object 1435 o1 = "d" 1436 o2 = 1 1437 Try 1438 o3 = Operators.AddObject(o1, o2) 1439 Catch ex As InvalidCastException 1440 Return 1441 End Try 1442 Assert.Fail() 1443 End Sub 1444 1445 <Test()> _ 1446 Sub TestOperatorsAdd3() 1447 Dim o1, o2, o3 As Object 1448 o1 = "1" 1449 o2 = 1 1450 o3 = Operators.AddObject(o1, o2) 1451 If (TypeOf o3 Is Double) Then 1452 Assert.AreEqual(CType(o3, Double), 2D) 1453 Else 1454 Assert.Fail() 1455 End If 1456 End Sub 1457 1458 <Test()> _ 1459 Sub TestOperatorsAdd4() 1460 Dim o1, o2, o3 As Object 1461 o1 = 1 1462 o2 = 1 1463 o3 = Operators.AddObject(o1, o2) 1464 If (TypeOf o3 Is Integer) Then 1465 Assert.AreEqual(o3, 2) 1466 Else 1467 Assert.Fail() 1468 End If 1469 End Sub 1470 1471 <Test()> _ 1472 Sub TestOperatorsAdd5() 1473 Dim o1, o2, o3 As Object 1474 o1 = 1.1 1475 o2 = 1 1476 o3 = Operators.AddObject(o1, o2) 1477 If (TypeOf o3 Is Double) Then 1478 Assert.AreEqual(o3, 2.1) 1479 Else 1480 Assert.Fail() 1481 End If 1482 End Sub 1483 1484 <Test()> _ 1485 Sub TestOperatorsAdd6() 1486 Dim o1, o2, o3 As Object 1487 o1 = DateTime.Now 1488 o2 = DateTime.Now 1489 o3 = Operators.AddObject(o1, o2) 1490 Assert.AreEqual(o3, String.Concat(o1.ToString(), o2.ToString())) 1491 End Sub 1492 1493 <Test()> _ 1494 Sub TestOperatorsAdd7() 1495 Dim o1, o2, o3 As Object 1496 o1 = "a"c 1497 o2 = "b"c 1498 o3 = Operators.AddObject(o1, o2) 1499 Assert.AreEqual(o3, "ab") 1500 End Sub 1501 1502 <Test()> _ 1503 Sub TestOperatorsAdd8() 1504 Dim o1, o2, o3, o4, o5, o6 As Object 1505 o1 = "b"c 1506 o2 = Nothing 1507 o3 = Operators.AddObject(o1, o2) 1508 o4 = "b"c 1509 o5 = DBNull.Value 1510 o6 = Operators.AddObject(o1, o2) 1511 Assert.AreEqual(o3, o6) 1512 End Sub 1513 1514 <Test()> _ 1515 Sub TestOperatorsAdd9() 1516 Dim o1, o2, o3 As Object 1517 o1 = Nothing 1518 o2 = 1 1519 o3 = Operators.AddObject(o1, o2) 1520 Assert.AreEqual(o3, 1) 1521 End Sub 1522 1523 <Test()> _ 1524 Sub TestOperatorsAdd10() 1525 Dim o1, o2, o3 As Object 1526 o1 = Nothing 1527 o2 = Nothing 1528 o3 = Operators.AddObject(o1, o2) 1529 Assert.AreEqual(o3, 0) 1530 End Sub 1531 1532 <Test()> _ 1533 Sub TestOperatorsAdd11() 1534 Dim o3 As Object 1535 Dim o1, o2 As Integer 1536 o1 = Integer.MaxValue 1537 o2 = Integer.MaxValue 1538 o3 = Operators.AddObject(o1, o2) 1539 If (TypeOf o3 Is Long) Then 1540 Assert.AreEqual(CType(o3, Long), Integer.MaxValue * 2L) 1541 Else 1542 Assert.Fail() 1543 End If 1544 End Sub 1545 1546 <Test()> _ 1547 Sub TestOperatorsAdd12() 1548 Dim o3 As Object 1549 Dim o1, o2 As Short 1550 o1 = 1 1551 o2 = 1 1552 o3 = Operators.AddObject(o1, o2) 1553 If (TypeOf o3 Is Short) Then 1554 Assert.AreEqual(CType(o3, Short), 2) 1555 Else 1556 Assert.Fail() 1557 End If 1558 End Sub 1559 1560 <Test()> _ 1561 Sub TestOperatorsAdd13() 1562 Dim o3 As Object 1563 Dim o1, o2 As Short 1564 o1 = 1 1565 o2 = 1 1566 o3 = Operators.AddObject(o1, o2) 1567 If (TypeOf o3 Is Short) Then 1568 Assert.AreEqual(CType(o3, Short), 2) 1569 Else 1570 Assert.Fail() 1571 End If 1572 End Sub 1573 1574 <Test()> _ 1575 Sub TestOperatorsAdd14() 1576 Dim o3 As Object 1577 Dim o1, o2 As UShort 1578 o1 = 1 1579 o2 = 1 1580 o3 = Operators.AddObject(o1, o2) 1581 If (TypeOf o3 Is UShort) Then 1582 Assert.AreEqual(CType(o3, UShort), 2) 1583 Else 1584 Assert.Fail() 1585 End If 1586 End Sub 1587 1588 <Test()> _ 1589 Sub TestOperatorsAdd15() 1590 Dim o3 As Object 1591 Dim o1 As Short 1592 Dim o2 As Long 1593 o1 = -2 1594 o2 = 1 1595 o3 = Operators.AddObject(o1, o2) 1596 If (TypeOf o3 Is Long) Then 1597 Assert.AreEqual(CType(o3, Long), -1L) 1598 Else 1599 Assert.Fail() 1600 End If 1601 End Sub 1602 1603 <Test()> _ 1604 Sub TestOperatorsAdd16() 1605 Dim o1, o2 As Long 1606 Dim o3 As Object 1607 o1 = 1L 1608 o2 = 1L 1609 o3 = Operators.AddObject(o1, o2) 1610 If (TypeOf o3 Is Long) Then 1611 Assert.AreEqual(CType(o3, Long), 2L) 1612 Else 1613 Assert.Fail() 1614 End If 1615 End Sub 1616 1617 <Test()> _ 1618 Sub TestOperatorsAdd17() 1619 Dim o1, o2 As Boolean 1620 Dim o3 As Object 1621 o1 = True 1622 o2 = False 1623 o3 = Operators.AddObject(o1, o2) 1624 If (TypeOf o3 Is Short) Then 1625 Assert.AreEqual(CType(o3, Short), -1) 1626 Else 1627 Assert.Fail() 1628 End If 1629 End Sub 1630 1631 <Test()> _ 1632 Sub TestOperatorsAdd18() 1633 Dim o3 As Object 1634 Try 1635 o3 = Operators.AddObject(DBNull.Value, DBNull.Value) 1636 Catch ex As InvalidCastException 1637 Return 1638 End Try 1639 Assert.Fail() 1640 End Sub 1641 1642 <Test()> _ 1643 Sub TestOperatorsAdd19() 1644 Dim o1, o2 As Byte 1645 Dim o3 As Object 1646 o1 = Byte.MaxValue 1647 o2 = Byte.MaxValue 1648 o3 = Operators.AddObject(o1, o2) 1649 If (TypeOf o3 Is Short) Then 1650 Assert.AreEqual(CType(o3, Short), Byte.MaxValue * 2) 1651 Else 1652 Assert.Fail() 1653 End If 1654 End Sub 1655 1656 <Test()> _ 1657 Sub TestOperatorsAdd20() 1658 Dim o1, o2 As Byte 1659 Dim o3 As Object 1660 o1 = Byte.MaxValue 1661 o2 = 0 1662 o3 = Operators.AddObject(o1, o2) 1663 If (TypeOf o3 Is Byte) Then 1664 Assert.AreEqual(CType(o3, Byte), Byte.MaxValue) 1665 Else 1666 Assert.Fail() 1667 End If 1668 End Sub 1669 1670 <Test()> _ 1671 Sub TestOperatorsAdd21() 1672 Dim o1, o2 As Double 1673 Dim o3 As Object 1674 o1 = Double.MaxValue 1675 o2 = Double.MaxValue 1676 o3 = Operators.AddObject(o1, o2) 1677 If (TypeOf o3 Is Double) Then 1678 Assert.AreEqual(CType(o3, Double), Double.MaxValue * 2) 1679 Else 1680 Assert.Fail() 1681 End If 1682 End Sub 1683 1684 <Test()> _ 1685 Sub TestOperatorsAdd22() 1686 Dim o1, o2 As UShort 1687 Dim o3 As Object 1688 o1 = UShort.MaxValue 1689 o2 = UShort.MaxValue 1690 o3 = Operators.AddObject(o1, o2) 1691 If (TypeOf o3 Is Integer) Then 1692 Assert.AreEqual(CType(o3, Integer), UShort.MaxValue * 2) 1693 Else 1694 Assert.Fail() 1695 End If 1696 End Sub 1697 1698 <Test()> _ 1699 Sub TestOperatorsAdd23() 1700 Dim o1 As Double 1701 Dim o2 As Decimal 1702 Dim o3 As Object 1703 o1 = 1 1704 o2 = 1 1705 o3 = Operators.AddObject(o1, o2) 1706 If (TypeOf o3 Is Double) Then 1707 Assert.AreEqual(CType(o3, Double), 2) 1708 Else 1709 Assert.Fail() 1710 End If 1711 End Sub 1712 1713 <Test()> _ 1714 Sub TestOperatorsAdd24() 1715 Dim o1 As Boolean 1716 Dim o2 As String 1717 Dim o3 As Object 1718 o1 = False 1719 o2 = "1" 1720 o3 = Operators.AddObject(o1, o2) 1721 If (TypeOf o3 Is Double) Then 1722 Assert.AreEqual(CType(o3, Double), 1) 1723 Else 1724 Assert.Fail() 1725 End If 1726 End Sub 1727 1728 <Test()> _ 1729 Sub TestOperatorsAdd25() 1730 Dim o1 As Boolean 1731 Dim o2 As Integer 1732 Dim o3 As Object 1733 o1 = False 1734 o2 = 1 1735 o3 = Operators.AddObject(o1, o2) 1736 If (TypeOf o3 Is Integer) Then 1737 Assert.AreEqual(CType(o3, Integer), 1) 1738 Else 1739 Assert.Fail() 1740 End If 1741 End Sub 1742 1743 <Test()> _ 1744 Sub TestOperatorsAdd26() 1745 Dim o1 As ULong 1746 Dim o2 As SByte 1747 Dim o3 As Object 1748 o1 = UInteger.MaxValue 1749 o2 = -1 1750 o3 = Operators.AddObject(o1, o2) 1751 If (TypeOf o3 Is Decimal) Then 1752 Assert.AreEqual(CType(o3, Decimal), UInteger.MaxValue - 1) 1753 Else 1754 Assert.Fail() 1755 End If 1756 End Sub 1757 1758 <Test()> _ 1759 Sub TestOperatorsAdd27() 1760 Dim o1 As Char 1761 Dim o2 As Integer 1762 Dim o3 As Object 1763 o1 = "1"c 1764 o2 = -1 1765 Try 1766 o3 = Operators.AddObject(o1, o2) 1767 Catch ex As InvalidCastException 1768 Return 1769 End Try 1770 Assert.Fail() 1771 End Sub 1772 1773 <Test()> _ 1774 Sub TestOperatorsAdd28() 1775 Dim o1, o2, o3 As Object 1776 o1 = New OperatorsImplementer() 1777 o2 = "abc" 1778 o3 = Operators.AddObject(o1, o2) 1779 Assert.AreEqual(o3, "ok+") 1780 End Sub 1781 1782 <Test()> _ 1783 Sub TestOperatorsAdd29() 1784 Dim o1, o2, o3 As Object 1785 o1 = "abc" 1786 o2 = New OperatorsImplementer() 1787 Try 1788 o3 = Operators.AddObject(o1, o2) 1789 Catch ex As InvalidCastException 1790 Return 1791 End Try 1792 Assert.Fail() 1793 End Sub 1794 1795 <Test()> _ 1796 Sub TestOperatorsOr1() 1797 Dim o1, o2, o3 As Object 1798 o1 = "1.1" 1799 o2 = "1" 1800 o3 = Operators.OrObject(o1, o2) 1801 If (TypeOf o3 Is Long) Then 1802 Assert.AreEqual(CType(o3, Long), (1L Or 1L)) 1803 Else 1804 Assert.Fail() 1805 End If 1806 End Sub 1807 1808 <Test()> _ 1809 Sub TestOperatorsOr2() 1810 Dim o1, o2, o3 As Object 1811 o1 = "d" 1812 o2 = 1 1813 Try 1814 o3 = Operators.OrObject(o1, o2) 1815 Catch ex As InvalidCastException 1816 Return 1817 End Try 1818 Assert.Fail() 1819 End Sub 1820 1821 <Test()> _ 1822 Sub TestOperatorsOr3() 1823 Dim o1, o2, o3 As Object 1824 o1 = "1.1" 1825 o2 = 1 1826 o3 = Operators.OrObject(o1, o2) 1827 If (TypeOf o3 Is Long) Then 1828 Assert.AreEqual(CType(o3, Long), (1L Or 1L)) 1829 Else 1830 Assert.Fail() 1831 End If 1832 End Sub 1833 1834 <Test()> _ 1835 Sub TestOperatorsOr4() 1836 Dim o1, o2, o3 As Object 1837 o1 = 52 1838 o2 = 14 1839 o3 = Operators.OrObject(o1, o2) 1840 If (TypeOf o3 Is Integer) Then 1841 Assert.AreEqual(CType(o3, Integer), (52 Or 14)) 1842 Else 1843 Assert.Fail() 1844 End If 1845 End Sub 1846 1847 <Test()> _ 1848 Sub TestOperatorsOr5() 1849 Dim o1, o2, o3 As Object 1850 o1 = 14134.3124 1851 o2 = 14.59 1852 o3 = Operators.OrObject(o1, o2) 1853 If (TypeOf o3 Is Long) Then 1854 Assert.AreEqual(CType(o3, Long), (14134L Or 15L)) 1855 Else 1856 Assert.Fail() 1857 End If 1858 End Sub 1859 1860 <Test()> _ 1861 Sub TestOperatorsOr6() 1862 Dim o1, o2, o3 As Object 1863 o1 = DateTime.Now 1864 o2 = DateTime.Now 1865 Try 1866 o3 = Operators.OrObject(o1, o2) 1867 Catch ex As InvalidCastException 1868 Return 1869 End Try 1870 Assert.Fail() 1871 End Sub 1872 1873 <Test()> _ 1874 Sub TestOperatorsOr7() 1875 Dim o1, o2, o3 As Object 1876 o1 = "1"c 1877 o2 = "2"c 1878 Try 1879 o3 = Operators.OrObject(o1, o2) 1880 Catch ex As InvalidCastException 1881 Return 1882 End Try 1883 Assert.Fail() 1884 End Sub 1885 1886 <Test()> _ 1887 Sub TestOperatorsOr9() 1888 Dim o1, o2, o3 As Object 1889 o1 = Nothing 1890 o2 = 134S 1891 o3 = Operators.OrObject(o1, o2) 1892 If (TypeOf o3 Is Short) Then 1893 Assert.AreEqual(CType(o3, Short), (134S)) 1894 Else 1895 Assert.Fail() 1896 End If 1897 End Sub 1898 1899 <Test()> _ 1900 Sub TestOperatorsOr10() 1901 Dim o1, o2, o3 As Object 1902 o1 = Nothing 1903 o2 = Nothing 1904 o3 = Operators.OrObject(o1, o2) 1905 Assert.AreEqual(o3, 0) 1906 End Sub 1907 1908 <Test()> _ 1909 Sub TestOperatorsOr14() 1910 Dim o3 As Object 1911 Dim o1, o2 As UShort 1912 o1 = 643US 1913 o2 = 24US 1914 o3 = Operators.OrObject(o1, o2) 1915 If (TypeOf o3 Is UShort) Then 1916 Assert.AreEqual(CType(o3, UShort), (24US Or 643US)) 1917 Else 1918 Assert.Fail() 1919 End If 1920 End Sub 1921 1922 <Test()> _ 1923 Sub TestOperatorsOr15() 1924 Dim o3 As Object 1925 Dim o1 As Short 1926 Dim o2 As Long 1927 o1 = -2 1928 o2 = 1 1929 o3 = Operators.OrObject(o1, o2) 1930 If (TypeOf o3 Is Long) Then 1931 Assert.AreEqual(CType(o3, Long), -1L) 1932 Else 1933 Assert.Fail() 1934 End If 1935 End Sub 1936 1937 <Test()> _ 1938 Sub TestOperatorsOr17() 1939 Dim o1, o2 As Object 1940 Dim o3 As Object 1941 o1 = True 1942 o2 = False 1943 o3 = Operators.OrObject(o1, o2) 1944 If (TypeOf o3 Is Boolean) Then 1945 Assert.AreEqual(CType(o3, Boolean), True) 1946 Else 1947 Assert.Fail() 1948 End If 1949 End Sub 1950 1951 <Test()> _ 1952 Sub TestOperatorsOr18() 1953 Dim o3 As Object 1954 Try 1955 o3 = Operators.OrObject(DBNull.Value, DBNull.Value) 1956 Catch ex As InvalidCastException 1957 Return 1958 End Try 1959 Assert.Fail() 1960 End Sub 1961 1962 <Test()> _ 1963 Sub TestOperatorsOr28() 1964 Dim o1, o2, o3 As Object 1965 o1 = New OperatorsImplementer() 1966 o2 = 1 1967 o3 = Operators.OrObject(o1, o2) 1968 Assert.AreEqual(o3, "ok||") 1969 End Sub 1970 1971 <Test()> _ 1972 Sub TestOperatorsXor1() 1973 Dim o1, o2, o3 As Object 1974 o1 = "1.1" 1975 o2 = "1" 1976 o3 = Operators.XorObject(o1, o2) 1977 If (TypeOf o3 Is Long) Then 1978 Assert.AreEqual(CType(o3, Long), (1L Xor 1L)) 1979 Else 1980 Assert.Fail() 1981 End If 1982 End Sub 1983 1984 <Test()> _ 1985 Sub TestOperatorsXor2() 1986 Dim o1, o2, o3 As Object 1987 o1 = "d" 1988 o2 = 1 1989 Try 1990 o3 = Operators.XorObject(o1, o2) 1991 Catch ex As InvalidCastException 1992 Return 1993 End Try 1994 Assert.Fail() 1995 End Sub 1996 1997 <Test()> _ 1998 Sub TestOperatorsXor3() 1999 Dim o1, o2, o3 As Object 2000 o1 = "1.1" 2001 o2 = 1 2002 o3 = Operators.XorObject(o1, o2) 2003 If (TypeOf o3 Is Long) Then 2004 Assert.AreEqual(CType(o3, Long), (1L Xor 1L)) 2005 Else 2006 Assert.Fail() 2007 End If 2008 End Sub 2009 2010 <Test()> _ 2011 Sub TestOperatorsXor4() 2012 Dim o1, o2, o3 As Object 2013 o1 = 52 2014 o2 = 14 2015 o3 = Operators.XorObject(o1, o2) 2016 If (TypeOf o3 Is Integer) Then 2017 Assert.AreEqual(CType(o3, Integer), (52 Xor 14)) 2018 Else 2019 Assert.Fail() 2020 End If 2021 End Sub 2022 2023 <Test()> _ 2024 Sub TestOperatorsXor5() 2025 Dim o1, o2, o3 As Object 2026 o1 = 14134.3124 2027 o2 = 14.59 2028 o3 = Operators.XorObject(o1, o2) 2029 If (TypeOf o3 Is Long) Then 2030 Assert.AreEqual(CType(o3, Long), (14134L Xor 15L)) 2031 Else 2032 Assert.Fail() 2033 End If 2034 End Sub 2035 2036 <Test()> _ 2037 Sub TestOperatorsXor6() 2038 Dim o1, o2, o3 As Object 2039 o1 = DateTime.Now 2040 o2 = DateTime.Now 2041 Try 2042 o3 = Operators.XorObject(o1, o2) 2043 Catch ex As InvalidCastException 2044 Return 2045 End Try 2046 Assert.Fail() 2047 End Sub 2048 2049 <Test()> _ 2050 Sub TestOperatorsXor7() 2051 Dim o1, o2, o3 As Object 2052 o1 = "1"c 2053 o2 = "2"c 2054 Try 2055 o3 = Operators.XorObject(o1, o2) 2056 Catch ex As InvalidCastException 2057 Return 2058 End Try 2059 Assert.Fail() 2060 End Sub 2061 2062 <Test()> _ 2063 Sub TestOperatorsXor9() 2064 Dim o1, o2, o3 As Object 2065 o1 = Nothing 2066 o2 = 134S 2067 o3 = Operators.XorObject(o1, o2) 2068 If (TypeOf o3 Is Short) Then 2069 Assert.AreEqual(CType(o3, Short), (134S)) 2070 Else 2071 Assert.Fail() 2072 End If 2073 End Sub 2074 2075 <Test()> _ 2076 Sub TestOperatorsXor10() 2077 Dim o1, o2, o3 As Object 2078 o1 = Nothing 2079 o2 = Nothing 2080 o3 = Operators.XorObject(o1, o2) 2081 Assert.AreEqual(o3, 0) 2082 End Sub 2083 2084 <Test()> _ 2085 Sub TestOperatorsXor14() 2086 Dim o3 As Object 2087 Dim o1, o2 As UShort 2088 o1 = 643US 2089 o2 = 24US 2090 o3 = Operators.XorObject(o1, o2) 2091 If (TypeOf o3 Is UShort) Then 2092 Assert.AreEqual(CType(o3, UShort), (24US Xor 643US)) 2093 Else 2094 Assert.Fail() 2095 End If 2096 End Sub 2097 2098 <Test()> _ 2099 Sub TestOperatorsXor15() 2100 Dim o3 As Object 2101 Dim o1 As Short 2102 Dim o2 As Long 2103 o1 = -2 2104 o2 = 1 2105 o3 = Operators.XorObject(o1, o2) 2106 If (TypeOf o3 Is Long) Then 2107 Assert.AreEqual(CType(o3, Long), -1L) 2108 Else 2109 Assert.Fail() 2110 End If 2111 End Sub 2112 2113 <Test()> _ 2114 Sub TestOperatorsXor17() 2115 Dim o1, o2 As Object 2116 Dim o3 As Object 2117 o1 = True 2118 o2 = False 2119 o3 = Operators.XorObject(o1, o2) 2120 If (TypeOf o3 Is Boolean) Then 2121 Assert.AreEqual(CType(o3, Boolean), True) 2122 Else 2123 Assert.Fail() 2124 End If 2125 End Sub 2126 2127 <Test()> _ 2128 Sub TestOperatorsXor18() 2129 Dim o3 As Object 2130 Try 2131 o3 = Operators.XorObject(DBNull.Value, DBNull.Value) 2132 Catch ex As InvalidCastException 2133 Return 2134 End Try 2135 Assert.Fail() 2136 End Sub 2137 2138 <Test()> _ 2139 Sub TestOperatorsXor28() 2140 Dim o1, o2, o3 As Object 2141 o1 = New OperatorsImplementer() 2142 o2 = 1 2143 o3 = Operators.XorObject(o1, o2) 2144 Assert.AreEqual(o3, "okXor") 2145 End Sub 2146 2147 <Test()> _ 2148 Sub TestOperatorsAnd1() 2149 Dim o1, o2, o3 As Object 2150 o1 = "1.1" 2151 o2 = "1" 2152 o3 = Operators.AndObject(o1, o2) 2153 If (TypeOf o3 Is Long) Then 2154 Assert.AreEqual(CType(o3, Long), (1L And 1L)) 2155 Else 2156 Assert.Fail() 2157 End If 2158 End Sub 2159 2160 <Test()> _ 2161 Sub TestOperatorsAnd2() 2162 Dim o1, o2, o3 As Object 2163 o1 = "d" 2164 o2 = 1 2165 Try 2166 o3 = Operators.AndObject(o1, o2) 2167 Catch ex As InvalidCastException 2168 Return 2169 End Try 2170 Assert.Fail() 2171 End Sub 2172 2173 <Test()> _ 2174 Sub TestOperatorsAnd3() 2175 Dim o1, o2, o3 As Object 2176 o1 = "1.1" 2177 o2 = 1 2178 o3 = Operators.AndObject(o1, o2) 2179 If (TypeOf o3 Is Long) Then 2180 Assert.AreEqual(CType(o3, Long), (1L And 1L)) 2181 Else 2182 Assert.Fail() 2183 End If 2184 End Sub 2185 2186 <Test()> _ 2187 Sub TestOperatorsAnd4() 2188 Dim o1, o2, o3 As Object 2189 o1 = 52 2190 o2 = 14 2191 o3 = Operators.AndObject(o1, o2) 2192 If (TypeOf o3 Is Integer) Then 2193 Assert.AreEqual(CType(o3, Integer), (52 And 14)) 2194 Else 2195 Assert.Fail() 2196 End If 2197 End Sub 2198 2199 <Test()> _ 2200 Sub TestOperatorsAnd5() 2201 Dim o1, o2, o3 As Object 2202 o1 = 14134.3124 2203 o2 = 14.59 2204 o3 = Operators.AndObject(o1, o2) 2205 If (TypeOf o3 Is Long) Then 2206 Assert.AreEqual(CType(o3, Long), (14134L And 15L)) 2207 Else 2208 Assert.Fail() 2209 End If 2210 End Sub 2211 2212 <Test()> _ 2213 Sub TestOperatorsAnd6() 2214 Dim o1, o2, o3 As Object 2215 o1 = DateTime.Now 2216 o2 = DateTime.Now 2217 Try 2218 o3 = Operators.AndObject(o1, o2) 2219 Catch ex As InvalidCastException 2220 Return 2221 End Try 2222 Assert.Fail() 2223 End Sub 2224 2225 <Test()> _ 2226 Sub TestOperatorsAnd7() 2227 Dim o1, o2, o3 As Object 2228 o1 = "1"c 2229 o2 = "2"c 2230 Try 2231 o3 = Operators.AndObject(o1, o2) 2232 Catch ex As InvalidCastException 2233 Return 2234 End Try 2235 Assert.Fail() 2236 End Sub 2237 2238 <Test()> _ 2239 Sub TestOperatorsAnd9() 2240 Dim o1, o2, o3 As Object 2241 o1 = Nothing 2242 o2 = 134S 2243 o3 = Operators.AndObject(o1, o2) 2244 If (TypeOf o3 Is Short) Then 2245 Assert.AreEqual(CType(o3, Short), 0S) 2246 Else 2247 Assert.Fail() 2248 End If 2249 End Sub 2250 2251 <Test()> _ 2252 Sub TestOperatorsAnd10() 2253 Dim o1, o2, o3 As Object 2254 o1 = Nothing 2255 o2 = Nothing 2256 o3 = Operators.AndObject(o1, o2) 2257 Assert.AreEqual(o3, 0) 2258 End Sub 2259 2260 <Test()> _ 2261 Sub TestOperatorsAnd15() 2262 Dim o3 As Object 2263 Dim o1 As Short 2264 Dim o2 As Long 2265 o1 = -2 2266 o2 = 1 2267 o3 = Operators.AndObject(o1, o2) 2268 If (TypeOf o3 Is Long) Then 2269 Assert.AreEqual(CType(o3, Long), (-2L And 1L)) 2270 Else 2271 Assert.Fail() 2272 End If 2273 End Sub 2274 2275 <Test()> _ 2276 Sub TestOperatorsAnd17() 2277 Dim o1, o2 As Object 2278 Dim o3 As Object 2279 o1 = True 2280 o2 = False 2281 o3 = Operators.AndObject(o1, o2) 2282 If (TypeOf o3 Is Boolean) Then 2283 Assert.AreEqual(CType(o3, Boolean), False) 2284 Else 2285 Assert.Fail() 2286 End If 2287 End Sub 2288 2289 <Test()> _ 2290 Sub TestOperatorsAnd18() 2291 Dim o3 As Object 2292 Try 2293 o3 = Operators.AndObject(DBNull.Value, DBNull.Value) 2294 Catch ex As InvalidCastException 2295 Return 2296 End Try 2297 Assert.Fail() 2298 End Sub 2299 2300 <Test()> _ 2301 Sub TestOperatorsAnd28() 2302 Dim o1, o2, o3 As Object 2303 o1 = New OperatorsImplementer() 2304 o2 = 1 2305 o3 = Operators.AndObject(o1, o2) 2306 Assert.AreEqual(o3, "okAnd") 2307 End Sub 2308 2309 <Test()> _ 2310 Sub TestOperatorsDivide1() 2311 Dim o1, o2, o3 As Object 2312 o1 = "a" 2313 o2 = "b" 2314 Try 2315 o3 = Operators.DivideObject(o1, o2) 2316 Catch ex As InvalidCastException 2317 Return 2318 End Try 2319 Assert.Fail() 2320 End Sub 2321 2322 <Test()> _ 2323 Sub TestOperatorsDivide2() 2324 Dim o1, o2, o3 As Object 2325 o1 = "d" 2326 o2 = 1 2327 Try 2328 o3 = Operators.DivideObject(o1, o2) 2329 Catch ex As InvalidCastException 2330 Return 2331 End Try 2332 Assert.Fail() 2333 End Sub 2334 2335 <Test()> _ 2336 Sub TestOperatorsDivide3() 2337 Dim o1, o2, o3 As Object 2338 o1 = "1" 2339 o2 = 1 2340 o3 = Operators.DivideObject(o1, o2) 2341 If (TypeOf o3 Is Double) Then 2342 Assert.AreEqual(CType(o3, Double), 1D) 2343 Else 2344 Assert.Fail() 2345 End If 2346 End Sub 2347 2348 <Test()> _ 2349 Sub TestOperatorsDivide6() 2350 Dim o1, o2, o3 As Object 2351 o1 = DateTime.Now 2352 o2 = DateTime.Now 2353 Try 2354 o3 = Operators.DivideObject(o1, o2) 2355 Catch ex As InvalidCastException 2356 Return 2357 End Try 2358 Assert.Fail() 2359 End Sub 2360 2361 <Test()> _ 2362 Sub TestOperatorsDivide7() 2363 Dim o1, o2, o3 As Object 2364 o1 = "1"c 2365 o2 = 1 2366 Try 2367 o3 = Operators.DivideObject(o1, o2) 2368 Catch ex As InvalidCastException 2369 Return 2370 End Try 2371 Assert.Fail() 2372 End Sub 2373 2374 <Test()> _ 2375 Sub TestOperatorsDivide8() 2376 Dim o1, o2, o3 As Object 2377 o1 = 1 2378 o2 = Nothing 2379 o3 = Operators.DivideObject(o1, o2) 2380 If (TypeOf o3 Is Double) Then 2381 Assert.AreEqual(CType(o3, Double), Double.PositiveInfinity) 2382 Else 2383 Assert.Fail() 2384 End If 2385 End Sub 2386 2387 <Test()> _ 2388 Sub TestOperatorsDivide11() 2389 Dim o1, o2, o3 As Object 2390 o1 = New Decimal(1) 2391 o2 = 1.0 2392 o3 = Operators.DivideObject(o1, o2) 2393 If (TypeOf o3 Is Double) Then 2394 Assert.AreEqual(CType(o3, Double), 1) 2395 Else 2396 Assert.Fail() 2397 End If 2398 End Sub 2399 2400 <Test()> _ 2401 Sub TestOperatorsDivide12() 2402 Dim o1, o2, o3 As Object 2403 o1 = New Decimal(1) 2404 o2 = 1 2405 o3 = Operators.DivideObject(o1, o2) 2406 If (TypeOf o3 Is Decimal) Then 2407 Assert.AreEqual(CType(o3, Decimal), 1) 2408 Else 2409 Assert.Fail() 2410 End If 2411 End Sub 2412 2413 <Test()> _ 2414 Sub TestOperatorsDivide13() 2415 Dim o1, o2, o3 As Object 2416 o1 = 1.1F 2417 o2 = 1.1F 2418 o3 = Operators.DivideObject(o1, o2) 2419 If (TypeOf o3 Is Single) Then 2420 Assert.AreEqual(CType(o3, Single), 1) 2421 Else 2422 Assert.Fail() 2423 End If 2424 End Sub 2425 2426 <Test()> _ 2427 Sub TestOperatorsDivide14() 2428 Dim o1, o2, o3 As Object 2429 o1 = False 2430 o2 = 1.0F 2431 o3 = Operators.DivideObject(o1, o2) 2432 If (TypeOf o3 Is Single) Then 2433 Assert.AreEqual(CType(o3, Single), 0) 2434 Else 2435 Assert.Fail() 2436 End If 2437 End Sub 2438 2439 <Test()> _ 2440 Sub TestOperatorsDivide15() 2441 Dim o1, o2, o3 As Object 2442 o1 = 1.0F 2443 o2 = "1" 2444 o3 = Operators.DivideObject(o1, o2) 2445 If (TypeOf o3 Is Double) Then 2446 Assert.AreEqual(CType(o3, Double), 1) 2447 Else 2448 Assert.Fail() 2449 End If 2450 End Sub 2451 2452 <Test()> _ 2453 Sub TestOperatorsDivide16() 2454 Dim o1, o2, o3 As Object 2455 o1 = 1.0F 2456 o2 = 1 2457 o3 = Operators.DivideObject(o1, o2) 2458 If (TypeOf o3 Is Single) Then 2459 Assert.AreEqual(CType(o3, Single), 1) 2460 Else 2461 Assert.Fail() 2462 End If 2463 End Sub 2464 2465 <Test()> _ 2466 Sub TestOperatorsDivide18() 2467 Dim o3 As Object 2468 Try 2469 o3 = Operators.DivideObject(DBNull.Value, 1.1D) 2470 Catch ex As InvalidCastException 2471 Return 2472 End Try 2473 Assert.Fail() 2474 End Sub 2475 2476 <Test()> _ 2477 Sub TestOperatorsDivide19() 2478 Dim o1, o2, o3 As Object 2479 o1 = New OperatorsImplementer() 2480 o2 = "abc" 2481 o3 = Operators.DivideObject(o1, o2) 2482 Assert.AreEqual(o3, "ok/") 2483 End Sub 2484 2485 <Test()> _ 2486 Sub TestOperatorsMod1() 2487 Dim o1, o2, o3 As Object 2488 o1 = "a" 2489 o2 = "b" 2490 Try 2491 o3 = Operators.ModObject(o1, o2) 2492 Catch ex As InvalidCastException 2493 Return 2494 End Try 2495 Assert.Fail() 2496 End Sub 2497 2498 <Test()> _ 2499 Sub TestOperatorsMod2() 2500 Dim o1, o2, o3 As Object 2501 o1 = "d" 2502 o2 = 1 2503 Try 2504 o3 = Operators.ModObject(o1, o2) 2505 Catch ex As InvalidCastException 2506 Return 2507 End Try 2508 Assert.Fail() 2509 End Sub 2510 2511 <Test()> _ 2512 Sub TestOperatorsMod3() 2513 Dim o1, o2, o3 As Object 2514 o1 = "1" 2515 o2 = 1 2516 o3 = Operators.ModObject(o1, o2) 2517 If (TypeOf o3 Is Double) Then 2518 Assert.AreEqual(CType(o3, Double), 0D) 2519 Else 2520 Assert.Fail() 2521 End If 2522 End Sub 2523 2524 <Test()> _ 2525 Sub TestOperatorsMod6() 2526 Dim o1, o2, o3 As Object 2527 o1 = DateTime.Now 2528 o2 = 2 2529 Try 2530 o3 = Operators.ModObject(o1, o2) 2531 Catch ex As InvalidCastException 2532 Return 2533 End Try 2534 Assert.Fail() 2535 End Sub 2536 2537 <Test()> _ 2538 Sub TestOperatorsMod7() 2539 Dim o1, o2, o3 As Object 2540 o1 = "1"c 2541 o2 = 2 2542 Try 2543 o3 = Operators.ModObject(o1, o2) 2544 Catch ex As InvalidCastException 2545 Return 2546 End Try 2547 Assert.Fail() 2548 End Sub 2549 2550 <Test()> _ 2551 Sub TestOperatorsMod8() 2552 Dim o1, o2, o3 As Object 2553 o1 = 1 2554 o2 = Nothing 2555 Try 2556 o3 = Operators.ModObject(o1, o2) 2557 Catch ex As DivideByZeroException 2558 Return 2559 End Try 2560 Assert.Fail() 2561 End Sub 2562 2563 <Test()> _ 2564 Sub TestOperatorsMod11() 2565 Dim o1, o2, o3 As Object 2566 o1 = New Decimal(3) 2567 o2 = 2.0F 2568 o3 = Operators.ModObject(o1, o2) 2569 If (TypeOf o3 Is Single) Then 2570 Assert.AreEqual(CType(o3, Single), 1) 2571 Else 2572 Assert.Fail() 2573 End If 2574 End Sub 2575 2576 <Test()> _ 2577 Sub TestOperatorsMod12() 2578 Dim o1, o2, o3 As Object 2579 o1 = New Decimal(3) 2580 o2 = -2.5F 2581 o3 = Operators.ModObject(o1, o2) 2582 If (TypeOf o3 Is Single) Then 2583 Assert.AreEqual(CType(o3, Single), 0.5F) 2584 Else 2585 Assert.Fail() 2586 End If 2587 End Sub 2588 2589 <Test()> _ 2590 Sub TestOperatorsMod13() 2591 Dim o1, o2, o3 As Object 2592 o1 = -1.1F 2593 o2 = 1.1D 2594 o3 = Operators.ModObject(o1, o2) 2595 If (TypeOf o3 Is Single) Then 2596 Assert.AreEqual(CType(o3, Single), 0) 2597 Else 2598 Assert.Fail() 2599 End If 2600 End Sub 2601 2602 <Test()> _ 2603 Sub TestOperatorsMod14() 2604 Dim o1, o2, o3 As Object 2605 o1 = False 2606 o2 = 1.0F 2607 o3 = Operators.ModObject(o1, o2) 2608 If (TypeOf o3 Is Single) Then 2609 Assert.AreEqual(CType(o3, Single), 0) 2610 Else 2611 Assert.Fail() 2612 End If 2613 End Sub 2614 2615 <Test()> _ 2616 Sub TestOperatorsMod16() 2617 Dim o1, o2, o3 As Object 2618 o1 = New OperatorsImplementer() 2619 o2 = "2" 2620 o3 = Operators.ModObject(o1, o2) 2621 Assert.AreEqual(o3, "okMod") 2622 End Sub 2623 2624 <Test()> _ 2625 Sub TestOperatorsMultiply1() 2626 Dim o1, o2, o3 As Object 2627 o1 = "a" 2628 o2 = "b" 2629 Try 2630 o3 = Operators.MultiplyObject(o1, o2) 2631 Catch ex As InvalidCastException 2632 Return 2633 End Try 2634 Assert.Fail() 2635 End Sub 2636 2637 <Test()> _ 2638 Sub TestOperatorsMultiply2() 2639 Dim o1, o2, o3 As Object 2640 o1 = "d" 2641 o2 = 1 2642 Try 2643 o3 = Operators.MultiplyObject(o1, o2) 2644 Catch ex As InvalidCastException 2645 Return 2646 End Try 2647 Assert.Fail() 2648 End Sub 2649 2650 <Test()> _ 2651 Sub TestOperatorsMultiply3() 2652 Dim o1, o2, o3 As Object 2653 o1 = "1" 2654 o2 = 1 2655 o3 = Operators.MultiplyObject(o1, o2) 2656 If (TypeOf o3 Is Double) Then 2657 Assert.AreEqual(CType(o3, Double), 1D) 2658 Else 2659 Assert.Fail() 2660 End If 2661 End Sub 2662 2663 <Test()> _ 2664 Sub TestOperatorsMultiply6() 2665 Dim o1, o2, o3 As Object 2666 o1 = DateTime.Now 2667 o2 = DateTime.Now 2668 Try 2669 o3 = Operators.MultiplyObject(o1, o2) 2670 Catch ex As InvalidCastException 2671 Return 2672 End Try 2673 Assert.Fail() 2674 End Sub 2675 2676 <Test()> _ 2677 Sub TestOperatorsMultiply7() 2678 Dim o1, o2, o3 As Object 2679 o1 = "1"c 2680 o2 = 1 2681 Try 2682 o3 = Operators.MultiplyObject(o1, o2) 2683 Catch ex As InvalidCastException 2684 Return 2685 End Try 2686 Assert.Fail() 2687 End Sub 2688 2689 <Test()> _ 2690 Sub TestOperatorsMultiply8() 2691 Dim o1, o2, o3 As Object 2692 o1 = 1.0F 2693 o2 = Nothing 2694 o3 = Operators.MultiplyObject(o1, o2) 2695 If (TypeOf o3 Is Single) Then 2696 Assert.AreEqual(CType(o3, Single), 0.0F) 2697 Else 2698 Assert.Fail() 2699 End If 2700 End Sub 2701 2702 <Test()> _ 2703 Sub TestOperatorsMultiply11() 2704 Dim o1, o2, o3 As Object 2705 o1 = New Decimal(1) 2706 o2 = 1.0 2707 o3 = Operators.MultiplyObject(o1, o2) 2708 If (TypeOf o3 Is Double) Then 2709 Assert.AreEqual(CType(o3, Double), 1) 2710 Else 2711 Assert.Fail() 2712 End If 2713 End Sub 2714 2715 <Test()> _ 2716 Sub TestOperatorsMultiply12() 2717 Dim o1, o2, o3 As Object 2718 o1 = New Decimal(1) 2719 o2 = 1 2720 o3 = Operators.MultiplyObject(o1, o2) 2721 If (TypeOf o3 Is Decimal) Then 2722 Assert.AreEqual(CType(o3, Decimal), 1) 2723 Else 2724 Assert.Fail() 2725 End If 2726 End Sub 2727 2728 <Test()> _ 2729 Sub TestOperatorsMultiply13() 2730 Dim o1, o2, o3 As Object 2731 o1 = 1US 2732 o2 = 1.1F 2733 o3 = Operators.MultiplyObject(o1, o2) 2734 If (TypeOf o3 Is Single) Then 2735 Assert.AreEqual(CType(o3, Single), 1.1F) 2736 Else 2737 Assert.Fail() 2738 End If 2739 End Sub 2740 2741 <Test()> _ 2742 Sub TestOperatorsMultiply14() 2743 Dim o1, o2, o3 As Object 2744 o1 = False 2745 o2 = 1.0F 2746 o3 = Operators.MultiplyObject(o1, o2) 2747 If (TypeOf o3 Is Single) Then 2748 Assert.AreEqual(CType(o3, Single), 0) 2749 Else 2750 Assert.Fail() 2751 End If 2752 End Sub 2753 2754 <Test()> _ 2755 Sub TestOperatorsMultiply15() 2756 Dim o1, o2, o3 As Object 2757 o1 = 1.0F 2758 o2 = "1" 2759 o3 = Operators.MultiplyObject(o1, o2) 2760 If (TypeOf o3 Is Double) Then 2761 Assert.AreEqual(CType(o3, Double), 1) 2762 Else 2763 Assert.Fail() 2764 End If 2765 End Sub 2766 2767 <Test()> _ 2768 Sub TestOperatorsMultiply16() 2769 Dim o1, o2, o3 As Object 2770 o1 = 1.0F 2771 o2 = 1 2772 o3 = Operators.MultiplyObject(o1, o2) 2773 If (TypeOf o3 Is Single) Then 2774 Assert.AreEqual(CType(o3, Single), 1) 2775 Else 2776 Assert.Fail() 2777 End If 2778 End Sub 2779 2780 <Test()> _ 2781 Sub TestOperatorsIntDivide1() 2782 Dim o1, o2, o3 As Object 2783 o1 = "a" 2784 o2 = "b" 2785 Try 2786 o3 = Operators.IntDivideObject(o1, o2) 2787 Catch ex As InvalidCastException 2788 Return 2789 End Try 2790 Assert.Fail() 2791 End Sub 2792 2793 <Test()> _ 2794 Sub TestOperatorsIntDivide2() 2795 Dim o1, o2, o3 As Object 2796 o1 = "d" 2797 o2 = 1 2798 Try 2799 o3 = Operators.IntDivideObject(o1, o2) 2800 Catch ex As InvalidCastException 2801 Return 2802 End Try 2803 Assert.Fail() 2804 End Sub 2805 2806 <Test()> _ 2807 Sub TestOperatorsIntDivide3() 2808 Dim o1, o2, o3 As Object 2809 o1 = "1" 2810 o2 = 1 2811 o3 = Operators.IntDivideObject(o1, o2) 2812 If (TypeOf o3 Is Long) Then 2813 Assert.AreEqual(CType(o3, Long), 1) 2814 Else 2815 Assert.Fail() 2816 End If 2817 End Sub 2818 2819 <Test()> _ 2820 Sub TestOperatorsIntDivide6() 2821 Dim o1, o2, o3 As Object 2822 o1 = DateTime.Now 2823 o2 = DateTime.Now 2824 Try 2825 o3 = Operators.IntDivideObject(o1, o2) 2826 Catch ex As InvalidCastException 2827 Return 2828 End Try 2829 Assert.Fail() 2830 End Sub 2831 2832 <Test()> _ 2833 Sub TestOperatorsIntDivide7() 2834 Dim o1, o2, o3 As Object 2835 o1 = "1"c 2836 o2 = 1 2837 Try 2838 o3 = Operators.IntDivideObject(o1, o2) 2839 Catch ex As InvalidCastException 2840 Return 2841 End Try 2842 Assert.Fail() 2843 End Sub 2844 2845 <Test()> _ 2846 Sub TestOperatorsIntDivide8() 2847 Dim o1, o2, o3 As Object 2848 o1 = 1 2849 o2 = Nothing 2850 Try 2851 o3 = Operators.IntDivideObject(o1, o2) 2852 Catch ex As DivideByZeroException 2853 Return 2854 End Try 2855 Assert.Fail() 2856 End Sub 2857 2858 <Test()> _ 2859 Sub TestOperatorsIntDivide11() 2860 Dim o1, o2, o3 As Object 2861 o1 = New Decimal(1) 2862 o2 = 1.0 2863 o3 = Operators.IntDivideObject(o1, o2) 2864 If (TypeOf o3 Is Long) Then 2865 Assert.AreEqual(CType(o3, Long), 1) 2866 Else 2867 Assert.Fail() 2868 End If 2869 End Sub 2870 2871 <Test()> _ 2872 Sub TestOperatorsIntDivide12() 2873 Dim o1, o2, o3 As Object 2874 o1 = New Decimal(1) 2875 o2 = 1 2876 o3 = Operators.IntDivideObject(o1, o2) 2877 If (TypeOf o3 Is Long) Then 2878 Assert.AreEqual(CType(o3, Long), 1) 2879 Else 2880 Assert.Fail() 2881 End If 2882 End Sub 2883 2884 <Test()> _ 2885 Sub TestOperatorsIntDivide13() 2886 Dim o1, o2, o3 As Object 2887 o1 = 1.1F 2888 o2 = 1.1F 2889 o3 = Operators.IntDivideObject(o1, o2) 2890 If (TypeOf o3 Is Long) Then 2891 Assert.AreEqual(CType(o3, Long), 1) 2892 Else 2893 Assert.Fail() 2894 End If 2895 End Sub 2896 2897 <Test()> _ 2898 Sub TestOperatorsIntDivide14() 2899 Dim o1, o2, o3 As Object 2900 o1 = False 2901 o2 = 1.0F 2902 o3 = Operators.IntDivideObject(o1, o2) 2903 If (TypeOf o3 Is Long) Then 2904 Assert.AreEqual(CType(o3, Long), 0) 2905 Else 2906 Assert.Fail() 2907 End If 2908 End Sub 2909 2910 <Test()> _ 2911 Sub TestOperatorsIntDivide15() 2912 Dim o1, o2, o3 As Object 2913 o1 = 1.0F 2914 o2 = "1" 2915 o3 = Operators.IntDivideObject(o1, o2) 2916 If (TypeOf o3 Is Long) Then 2917 Assert.AreEqual(CType(o3, Long), 1) 2918 Else 2919 Assert.Fail() 2920 End If 2921 End Sub 2922 2923 <Test()> _ 2924 Sub TestOperatorsIntDivide16() 2925 Dim o1, o2, o3 As Object 2926 o1 = CType(1, Byte) 2927 o2 = CType(1, Byte) 2928 o3 = Operators.IntDivideObject(o1, o2) 2929 If (TypeOf o3 Is Byte) Then 2930 Assert.AreEqual(CType(o3, Byte), 1) 2931 Else 2932 Assert.Fail() 2933 End If 2934 End Sub 2935 2936 <Test()> _ 2937 Sub TestOperatorsIntDivide17() 2938 Dim o1, o2, o3 As Object 2939 o1 = 1 2940 o2 = CType(1, Byte) 2941 o3 = Operators.IntDivideObject(o1, o2) 2942 If (TypeOf o3 Is Integer) Then 2943 Assert.AreEqual(CType(o3, Integer), 1) 2944 Else 2945 Assert.Fail() 2946 End If 2947 End Sub 2948 2949 <Test()> _ 2950 Sub TestOperatorsIntDivide18() 2951 Dim o1, o2, o3 As Object 2952 o1 = CType(1, SByte) 2953 o2 = CType(1, Byte) 2954 o3 = Operators.IntDivideObject(o1, o2) 2955 If (TypeOf o3 Is Short) Then 2956 Assert.AreEqual(CType(o3, Short), 1) 2957 Else 2958 Assert.Fail() 2959 End If 2960 End Sub 2961 2962 <Test()> _ 2963 Sub TestOperatorsIntDivide19() 2964 Dim o1, o2, o3 As Object 2965 o1 = New OperatorsImplementer() 2966 o2 = "abc" 2967 o3 = Operators.IntDivideObject(o1, o2) 2968 Assert.AreEqual(o3, "ok\") 2969 End Sub 2970 2971 <Test()> _ 2972 Sub TestOperatorsLikeObject() 2973 Dim o1, o2, o3 As Object 2974 o1 = New OperatorsImplementer 2975 o2 = New Object 2976 o3 = New Object 2977 2978 Assert.IsTrue(o1 Like o2) 2979 Try 2980 Dim b1 As Boolean = o2 Like o1 2981 Assert.Fail() 2982 Catch ex As InvalidCastException 2983 End Try 2984 2985 Try 2986 Dim b2 As Boolean = o3 Like o2 2987 Assert.Fail() 2988 Catch ex As InvalidCastException 2989 End Try 2990 End Sub 2991 2992 <Test()> _ 2993 Sub TestOperatorsLikeString() 2994 Assert.IsTrue(LikeOperator.LikeString("-1d", "-#*", CompareMethod.Binary), "1") 2995 Assert.IsTrue(LikeOperator.LikeString("1", "#", CompareMethod.Binary), "2") 2996 Assert.IsFalse(LikeOperator.LikeString("12", "#", CompareMethod.Binary), "3") 2997 Assert.IsFalse(LikeOperator.LikeString("aa", "?", CompareMethod.Binary), "4") 2998 Assert.IsTrue(LikeOperator.LikeString("F", "F", CompareMethod.Binary), "5") 2999 Assert.IsTrue(LikeOperator.LikeString("F", "F", CompareMethod.Text), "6") 3000 Assert.IsFalse(LikeOperator.LikeString("F", "f", CompareMethod.Binary), "7") 3001 Assert.IsTrue(LikeOperator.LikeString("F", "f", CompareMethod.Text), "8") 3002 Assert.IsFalse(LikeOperator.LikeString("F", "FFF", CompareMethod.Binary), "9") 3003 Assert.IsTrue(LikeOperator.LikeString("aBBBa", "a*a", CompareMethod.Binary), "10") 3004 Assert.IsTrue(LikeOperator.LikeString("F", "[A-Z]", CompareMethod.Binary), "11") 3005 Assert.IsFalse(LikeOperator.LikeString("F", "[!A-Z]", CompareMethod.Binary), "12") 3006 Assert.IsTrue(LikeOperator.LikeString("a2a", "a#a", CompareMethod.Binary), "13") 3007 Assert.IsTrue(LikeOperator.LikeString("aM5b", "a[L-P]#[!c-e]", CompareMethod.Binary), "14") 3008 Assert.IsTrue(LikeOperator.LikeString("BAT123khg", "B?T*", CompareMethod.Binary), "15") 3009 Assert.IsFalse(LikeOperator.LikeString("CAT123khg", "B?T*", CompareMethod.Binary), "16") 3010 End Sub 3011 3012 <Test()> _ 3013 Sub TestOperatorsCompare() 3014 Dim _false As Object = False 3015 Dim _true As Object = True 3016 Dim _int1 As Object = -4 3017 Dim _double1 As Object = -4 3018 Dim _byte1 As Object = 0 3019 Dim _date As Object = DateTime.Now 3020 Dim _str As Object = "word" 3021 Dim _str2 As Object = "aaaa" 3022 Dim _strNum As Object = "1" 3023 Dim _nothing As Object = Nothing 3024 Dim _nothing2 As Object = Nothing 3025 Dim _dbnull As Object = DBNull.Value 3026 Dim _dbnull2 As Object = DBNull.Value 3027 Dim _a As Object = New A 3028 Dim _operatorsImplementer As Object = New OperatorsImplementer 3029 3030 Assert.IsTrue(1 > _nothing) 3031 3032 Assert.IsTrue(_nothing2 = _nothing) 3033 3034 Assert.IsTrue(_nothing < 1) 3035 3036 Assert.IsTrue(_nothing > -1) 3037 3038 Assert.IsTrue(_false > _true) 3039 3040 Assert.IsTrue(_operatorsImplementer > _date) 3041 3042 Assert.IsTrue(_str > _str2) 3043 3044 Assert.IsTrue("a"c < _str) 3045 3046 Assert.IsTrue(2 > _strNum) 3047 3048 Assert.IsTrue(_int1 <= _byte1) 3049 3050 Assert.IsTrue(_double1 = _int1) 3051 3052 Try 3053 Dim tmp = _a > _nothing 3054 Assert.Fail() 3055 Catch ex As InvalidCastException 3056 End Try 3057 3058 Try 3059 Dim tmp = 1 = _a 3060 Assert.Fail() 3061 Catch ex As InvalidCastException 3062 End Try 3063 3064 Try 3065 Dim tmp = _str > _date 3066 Assert.Fail() 3067 Catch ex As InvalidCastException 3068 End Try 3069 3070 Try 3071 Dim tmp = 1 > _date 3072 Assert.Fail() 3073 Catch ex As InvalidCastException 3074 End Try 3075 3076 Try 3077 Dim tmp = _dbnull >= _dbnull2 3078 Assert.Fail() 3079 Catch ex As InvalidCastException 3080 End Try 3081 3082 End Sub 3083 3084End Class 3085 3086Class A 3087End Class 3088 3089Class OperatorsImplementer 3090 Public Shared Operator =(ByVal a As OperatorsImplementer, ByVal b As Object) As Object 3091 Return "True" 3092 End Operator 3093 3094 Public Shared Operator <>(ByVal a As OperatorsImplementer, ByVal b As Object) As Object 3095 Return "True" 3096 End Operator 3097 3098 Public Shared Operator >(ByVal a As OperatorsImplementer, ByVal b As Object) As Object 3099 Return "True" 3100 End Operator 3101 3102 Public Shared Operator <(ByVal a As OperatorsImplementer, ByVal b As Object) As Object 3103 Return "True" 3104 End Operator 3105 3106 Public Shared Operator >=(ByVal a As OperatorsImplementer, ByVal b As Object) As Object 3107 Return "True" 3108 End Operator 3109 3110 Public Shared Operator <=(ByVal a As OperatorsImplementer, ByVal b As Object) As Object 3111 Return "True" 3112 End Operator 3113 3114 Public Shared Operator +(ByVal a As OperatorsImplementer, ByVal b As Object) As Object 3115 Return "ok+" 3116 End Operator 3117 3118 Public Shared Operator *(ByVal a As OperatorsImplementer, ByVal b As Object) As Object 3119 Return "ok*" 3120 End Operator 3121 3122 Public Shared Operator /(ByVal a As OperatorsImplementer, ByVal b As Object) As Object 3123 Return "ok/" 3124 End Operator 3125 3126 Public Shared Operator \(ByVal a As OperatorsImplementer, ByVal b As Object) As Object 3127 Return "ok\" 3128 End Operator 3129 3130 Public Shared Operator &(ByVal a As OperatorsImplementer, ByVal b As Object) As Object 3131 Return "ok&" 3132 End Operator 3133 3134 Public Shared Operator -(ByVal a As OperatorsImplementer, ByVal b As Object) As Object 3135 Return "ok-" 3136 End Operator 3137 3138 Public Shared Operator Or(ByVal a As OperatorsImplementer, ByVal b As Object) As Object 3139 Return "ok||" 3140 End Operator 3141 3142 Public Shared Operator Xor(ByVal a As OperatorsImplementer, ByVal b As Object) As Object 3143 Return "okXor" 3144 End Operator 3145 3146 Public Shared Operator Mod(ByVal a As OperatorsImplementer, ByVal b As Object) As Object 3147 Return "okMod" 3148 End Operator 3149 3150 Public Shared Operator And(ByVal a As OperatorsImplementer, ByVal b As Object) As Object 3151 Return "okAnd" 3152 End Operator 3153 3154 Public Shared Operator >>(ByVal a As OperatorsImplementer, ByVal b As Integer) As Object 3155 Return "ok>>" 3156 End Operator 3157 3158 Public Shared Operator <<(ByVal a As OperatorsImplementer, ByVal b As Integer) As Object 3159 Return "ok<<" 3160 End Operator 3161 3162 Public Shared Operator -(ByVal a As OperatorsImplementer) As Object 3163 Return "-ok" 3164 End Operator 3165 3166 Public Shared Operator Not(ByVal a As OperatorsImplementer) As Object 3167 Return "!ok" 3168 End Operator 3169 3170 Public Shared Operator +(ByVal a As OperatorsImplementer) As Object 3171 Return "+ok" 3172 End Operator 3173 3174 Public Shared Operator Like(ByVal a As OperatorsImplementer, ByVal b As Object) As Boolean 3175 Return True 3176 End Operator 3177 3178End Class 3179