📄 operatorstests.vb
字号:
Imports SystemImports Microsoft.VisualBasic.CompilerServicesImports NUnit.Framework<TestFixture()> _Public Class OperatorsTests <Test()> _ Sub TestOperatorsConcatenate1() Dim o1, o2, o3 As Object o1 = "a" o2 = "b" o3 = Operators.ConcatenateObject(o1, o2) Assert.AreEqual(o3, "ab") End Sub <Test()> _ Sub TestOperatorsConcatenate2() Dim o1, o2, o3 As Object o1 = "d" o2 = 1 o3 = Operators.ConcatenateObject(o1, o2) Assert.AreEqual(o3, "d1") End Sub <Test()> _ Sub TestOperatorsConcatenate3() Dim o1, o2, o3 As Object o1 = "1" o2 = 1 o3 = Operators.ConcatenateObject(o1, o2) Assert.AreEqual(o3, "11") End Sub <Test()> _ Sub TestOperatorsConcatenate4() Dim o1, o2, o3 As Object o1 = 1 o2 = 1 o3 = Operators.ConcatenateObject(o1, o2) Assert.AreEqual(o3, "11") End Sub <Test()> _ Sub TestOperatorsConcatenate5() Dim o1, o2, o3 As Object o1 = 1.1 o2 = 1 o3 = Operators.ConcatenateObject(o1, o2) Assert.AreEqual(o3, "1.11") End Sub <Test()> _ Sub TestOperatorsConcatenate6() Dim o1, o2, o3 As Object o1 = DateTime.Now o2 = DateTime.Now o3 = Operators.ConcatenateObject(o1, o2) Assert.AreEqual(o3, String.Concat(o1.ToString(), o2.ToString())) End Sub <Test()> _ Sub TestOperatorsConcatenate7() Dim o1, o2, o3 As Object o1 = "a"c o2 = "b"c o3 = Operators.ConcatenateObject(o1, o2) Assert.AreEqual(o3, "ab") End Sub <Test()> _ Sub TestOperatorsConcatenate8() Dim o1, o2, o3, o4, o5, o6 As Object o1 = "b"c o2 = Nothing o3 = Operators.ConcatenateObject(o1, o2) o4 = "b"c o5 = DBNull.Value o6 = Operators.ConcatenateObject(o1, o2) Assert.AreEqual(o3, o6) End Sub <Test()> _ Sub TestOperatorsConcatenate9() Dim o1, o2, o3 As Object o1 = Nothing o2 = 1 o3 = Operators.ConcatenateObject(o1, o2) Assert.AreEqual(o3, "1") End Sub <Test()> _ Sub TestOperatorsConcatenate10() Dim o1, o2, o3 As Object o1 = Nothing o2 = Nothing o3 = Operators.ConcatenateObject(o1, o2) Assert.AreEqual(o3, "") End Sub <Test()> _ Sub TestOperatorsConcatenate11() Dim o1, o2, o3 As Object o1 = New OperatorsImplementer() o2 = "abc" o3 = Operators.ConcatenateObject(o1, o2) Assert.AreEqual(o3, "ok&") End Sub <Test()> _ Sub TestOperatorsConcatenate12() Dim o1, o2, o3 As Object o1 = "abc" o2 = New OperatorsImplementer() Try o3 = Operators.ConcatenateObject(o1, o2) Catch ex As InvalidCastException Return End Try Assert.Fail() End Sub <Test()> _ Sub TestOperatorsNegate1() Dim o1, o2 As Object o1 = True o2 = Operators.NegateObject(o1) If (TypeOf o2 Is Short) Then Assert.AreEqual(CType(o2, Short), 1S) Else Assert.Fail() End If End Sub <Test()> _ Sub TestOperatorsNegate2() Dim o1, o2 As Object o1 = Nothing o2 = Operators.NegateObject(o1) If (TypeOf o2 Is Integer) Then Assert.AreEqual(CType(o2, Integer), 0) Else Assert.Fail() End If End Sub <Test()> _ Sub TestOperatorsNegate3() Dim o1, o2 As Object o1 = Nothing o2 = Operators.NegateObject(o1) If (TypeOf o2 Is Integer) Then Assert.AreEqual(CType(o2, Integer), 0) Else Assert.Fail() End If End Sub <Test()> _ Sub TestOperatorsNegate4() Dim o1, o2 As Object o1 = CType(2, Byte) o2 = Operators.NegateObject(o1) If (TypeOf o2 Is Short) Then Assert.AreEqual(CType(o2, Short), -2) Else Assert.Fail() End If End Sub <Test()> _ Sub TestOperatorsNegate5() Dim o1, o2 As Object o1 = CType(0, Byte) o2 = Operators.NegateObject(o1) If (TypeOf o2 Is Short) Then Assert.AreEqual(CType(o2, Short), 0) Else Assert.Fail() End If End Sub <Test()> _ Sub TestOperatorsNegate6() Dim o1, o2 As Object o1 = "1"c Try o2 = Operators.NegateObject(o1) Catch ex As InvalidCastException Return End Try Assert.Fail() End Sub <Test()> _ Sub TestOperatorsNegate7() Dim o1 As DateTime = DateTime.Now Dim o2 As Object Try o2 = Operators.NegateObject(o1) Catch ex As InvalidCastException Return End Try Assert.Fail() End Sub <Test()> _ Sub TestOperatorsNegate8() Dim o1, o2 As Object o1 = CType(-1, Decimal) o2 = Operators.NegateObject(o1) If (TypeOf o2 Is Decimal) Then Assert.AreEqual(CType(o2, Decimal), 1) Else Assert.Fail() End If End Sub <Test()> _ Sub TestOperatorsNegate9() Dim o1, o2 As Object o1 = CType(-1, Double) o2 = Operators.NegateObject(o1) If (TypeOf o2 Is Double) Then Assert.AreEqual(CType(o2, Double), 1) Else Assert.Fail() End If End Sub <Test()> _ Sub TestOperatorsNegate10() Dim o1, o2 As Object o1 = CType(Int16.MinValue, Int16) o2 = Operators.NegateObject(o1) If (TypeOf o2 Is Int32) Then Assert.AreEqual(CType(o2, Int32), Int16.MaxValue + 1) Else Assert.Fail() End If End Sub <Test()> _ Sub TestOperatorsNegate11() Dim o1, o2 As Object o1 = "1L" Try o2 = Operators.NegateObject(o1) Catch ex As InvalidCastException Return End Try Assert.Fail() End Sub <Test()> _ Sub TestOperatorsNegate12() Dim o1, o2 As Object o1 = "1" o2 = Operators.NegateObject(o1) If (TypeOf o2 Is Double) Then Assert.AreEqual(CType(o2, Double), -1) Else Assert.Fail() End If End Sub <Test()> _ Sub TestOperatorsNegate13() Dim o1, o2 As Object o1 = 3US o2 = Operators.NegateObject(o1) If (TypeOf o2 Is Integer) Then Assert.AreEqual(CType(o2, Integer), -3) Else Assert.Fail() End If End Sub <Test()> _ Sub TestOperatorsNegate14() Dim o1, o2 As Object o1 = New OperatorsImplementer() o2 = Operators.NegateObject(o1) Assert.AreEqual(o2, "-ok") End Sub <Test()> _ Sub TestOperatorsNegate15() Dim o1, o2 As Object o1 = 3UL o2 = Operators.NegateObject(o1) If (TypeOf o2 Is Decimal) Then Assert.AreEqual(CType(o2, Decimal), -3) Else Assert.Fail() End If End Sub <Test()> _ Sub TestOperatorsPlus1() Dim o1, o2 As Object o1 = True o2 = Operators.PlusObject(o1) If (TypeOf o2 Is Short) Then Assert.AreEqual(CType(o2, Short), -1S) Else Assert.Fail() End If End Sub <Test()> _ Sub TestOperatorsPlus2() Dim o1, o2 As Object o1 = Nothing o2 = Operators.PlusObject(o1) If (TypeOf o2 Is Integer) Then Assert.AreEqual(CType(o2, Integer), 0) Else Assert.Fail() End If End Sub <Test()> _ Sub TestOperatorsPlus3() Dim o1, o2 As Object o1 = DBNull.Value Try o2 = Operators.PlusObject(o1) Catch ex As InvalidCastException Return End Try Assert.Fail() End Sub <Test()> _ Sub TestOperatorsPlus4() Dim o1, o2 As Object o1 = CType(2, Byte) o2 = Operators.PlusObject(o1) If (TypeOf o2 Is Byte) Then Assert.AreEqual(CType(o2, Byte), 2) Else Assert.Fail() End If End Sub <Test()> _ Sub TestOperatorsPlus5() Dim o1, o2 As Object o1 = CType(0, Byte) o2 = Operators.PlusObject(o1) If (TypeOf o2 Is Byte) Then Assert.AreEqual(CType(o2, Byte), 0) Else Assert.Fail() End If End Sub <Test()> _ Sub TestOperatorsPlus6() Dim o1, o2 As Object o1 = "1"c Try o2 = Operators.PlusObject(o1) Catch ex As InvalidCastException Return End Try Assert.Fail() End Sub <Test()> _ Sub TestOperatorsPlus7() Dim o2 As Object Dim o1 As DateTime = DateTime.Now Try o2 = Operators.PlusObject(o1) Catch ex As InvalidCastException Return End Try Assert.Fail() End Sub <Test()> _ Sub TestOperatorsPlus8() Dim o1, o2 As Object o1 = CType(-1, Decimal) o2 = Operators.PlusObject(o1) If (TypeOf o2 Is Decimal) Then Assert.AreEqual(CType(o2, Decimal), -1) Else Assert.Fail() End If End Sub <Test()> _ Sub TestOperatorsPlus9() Dim o1, o2 As Object o1 = CType(-1, Double) o2 = Operators.PlusObject(o1) If (TypeOf o2 Is Double) Then Assert.AreEqual(CType(o2, Double), -1) Else Assert.Fail() End If End Sub <Test()> _ Sub TestOperatorsPlus10() Dim o1, o2 As Object o1 = CType(Int16.MinValue, Int16) o2 = Operators.PlusObject(o1) If (TypeOf o2 Is Short) Then Assert.AreEqual(CType(o2, Int32), Int16.MinValue) Else Assert.Fail() End If End Sub <Test()> _ Sub TestOperatorsPlus11() Dim o1, o2 As Object o1 = "1L" Try o2 = Operators.PlusObject(o1) Catch ex As InvalidCastException Return End Try Assert.Fail() End Sub <Test()> _ Sub TestOperatorsPlus12() Dim o1, o2 As Object o1 = "1" o2 = Operators.PlusObject(o1) If (TypeOf o2 Is Double) Then Assert.AreEqual(CType(o2, Double), 1) Else Assert.Fail() End If End Sub <Test()> _ Sub TestOperatorsPlus13() Dim o1, o2 As Object o1 = 3US o2 = Operators.PlusObject(o1) If (TypeOf o2 Is UShort) Then Assert.AreEqual(CType(o2, Integer), 3) Else Assert.Fail() End If End Sub <Test()> _ Sub TestOperatorsPlus14() Dim o1, o2 As Object o1 = New OperatorsImplementer() o2 = Operators.PlusObject(o1) Assert.AreEqual(o2, "+ok") End Sub <Test()> _ Sub TestOperatorsNot1() Dim o1, o2 As Object o1 = True o2 = Operators.NotObject(o1) If (TypeOf o2 Is Boolean) Then Assert.AreEqual(CType(o2, Boolean), False) Else Assert.Fail() End If End Sub <Test()> _ Sub TestOperatorsNot2() Dim o1, o2 As Object o1 = Nothing o2 = Operators.NotObject(o1) If (TypeOf o2 Is Integer) Then Assert.AreEqual(CType(o2, Integer), -1) Else Assert.Fail() End If End Sub <Test()> _ Sub TestOperatorsNot3() Dim o1, o2 As Object o1 = DBNull.Value Try o2 = Operators.NotObject(o1) Catch ex As InvalidCastException Return End Try Assert.Fail() End Sub <Test()> _ Sub TestOperatorsNot4() Dim o1, o2 As Object o1 = CType(2, Byte) o2 = Operators.NotObject(o1) If (TypeOf o2 Is Byte) Then Assert.AreEqual(CType(o2, Byte), (Not CType(o1, Byte))) Else Assert.Fail() End If End Sub <Test()> _ Sub TestOperatorsNot5() Dim o1, o2 As Object o1 = CType(0, Byte) o2 = Operators.NotObject(o1) If (TypeOf o2 Is Byte) Then Assert.AreEqual(CType(o2, Byte), (Not CType(o1, Byte))) Else Assert.Fail() End If End Sub <Test()> _ Sub TestOperatorsNot6() Dim o1, o2 As Object o1 = "1"c Try o2 = Operators.NotObject(o1) Catch ex As InvalidCastException Return End Try Assert.Fail() End Sub <Test()> _ Sub TestOperatorsNot7() Dim o2 As Object Dim o1 As DateTime = DateTime.Now Try o2 = Operators.NotObject(o1) Catch ex As InvalidCastException Return End Try Assert.Fail() End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -