Class BinaryOperatorLShift
    Inherits IntrinsicOperatorTests
    Shared Function Main As Integer
        Try
#If Not STRICT Or Boolean_ERRORS
            expected_tc = TypeCode.Int16
            M(bool << bool, "bool << bool")
#End If
#If Not STRICT Or Boolean_ERRORS
            expected_tc = TypeCode.Int16
            M(bool << b, "bool << b")
#End If
#If Not STRICT Or Boolean_ERRORS
            expected_tc = TypeCode.Int16
            M(bool << sb, "bool << sb")
#End If
#If Not STRICT Or Boolean_ERRORS
            expected_tc = TypeCode.Int16
            M(bool << s, "bool << s")
#End If
#If Not STRICT Or Boolean_ERRORS
            expected_tc = TypeCode.Int16
            M(bool << us, "bool << us")
#End If
#If Not STRICT Or Boolean_ERRORS
            expected_tc = TypeCode.Int16
            M(bool << i, "bool << i")
#End If
#If Not STRICT Or Boolean_ERRORS
            expected_tc = TypeCode.Int16
            M(bool << ui, "bool << ui")
#End If
#If Not STRICT Or Boolean_ERRORS
            expected_tc = TypeCode.Int16
            M(bool << l, "bool << l")
#End If
#If Not STRICT Or Boolean_ERRORS
            expected_tc = TypeCode.Int16
            M(bool << ul, "bool << ul")
#End If
#If Not STRICT Or Boolean_ERRORS
            expected_tc = TypeCode.Int16
            M(bool << dec, "bool << dec")
#End If
#If Not STRICT Or Boolean_ERRORS
            expected_tc = TypeCode.Int16
            M(bool << sng, "bool << sng")
#End If
#If Not STRICT Or Boolean_ERRORS
            expected_tc = TypeCode.Int16
            M(bool << dbl, "bool << dbl")
#End If
#If Boolean_ERRORS
            M(bool << chr, "bool << chr")
#End If
#If Not STRICT Or Boolean_ERRORS
            expected_tc = TypeCode.Int16
            M(bool << str, "bool << str")
#End If
#If Boolean_ERRORS
            M(bool << dt, "bool << dt")
#End If
#If Boolean_ERRORS
            M(bool << dbnull, "bool << dbnull")
#End If
#If Not STRICT Or Boolean_ERRORS
            expected_tc = TypeCode.Object
            M(bool << obj, "bool << obj")
#End If
#If Not STRICT Or Byte_ERRORS
            expected_tc = TypeCode.Byte
            M(b << bool, "b << bool")
#End If
            expected_tc = TypeCode.Byte
            M(b << b, "b << b")
            expected_tc = TypeCode.Byte
            M(b << sb, "b << sb")
            expected_tc = TypeCode.Byte
            M(b << s, "b << s")
            expected_tc = TypeCode.Byte
            M(b << us, "b << us")
            expected_tc = TypeCode.Byte
            M(b << i, "b << i")
#If Not STRICT Or Byte_ERRORS
            expected_tc = TypeCode.Byte
            M(b << ui, "b << ui")
#End If
#If Not STRICT Or Byte_ERRORS
            expected_tc = TypeCode.Byte
            M(b << l, "b << l")
#End If
#If Not STRICT Or Byte_ERRORS
            expected_tc = TypeCode.Byte
            M(b << ul, "b << ul")
#End If
#If Not STRICT Or Byte_ERRORS
            expected_tc = TypeCode.Byte
            M(b << dec, "b << dec")
#End If
#If Not STRICT Or Byte_ERRORS
            expected_tc = TypeCode.Byte
            M(b << sng, "b << sng")
#End If
#If Not STRICT Or Byte_ERRORS
            expected_tc = TypeCode.Byte
            M(b << dbl, "b << dbl")
#End If
#If Byte_ERRORS
            M(b << chr, "b << chr")
#End If
#If Not STRICT Or Byte_ERRORS
            expected_tc = TypeCode.Byte
            M(b << str, "b << str")
#End If
#If Byte_ERRORS
            M(b << dt, "b << dt")
#End If
#If Byte_ERRORS
            M(b << dbnull, "b << dbnull")
#End If
#If Not STRICT Or Byte_ERRORS
            expected_tc = TypeCode.Object
            M(b << obj, "b << obj")
#End If
#If Not STRICT Or SByte_ERRORS
            expected_tc = TypeCode.SByte
            M(sb << bool, "sb << bool")
#End If
            expected_tc = TypeCode.SByte
            M(sb << b, "sb << b")
            expected_tc = TypeCode.SByte
            M(sb << sb, "sb << sb")
            expected_tc = TypeCode.SByte
            M(sb << s, "sb << s")
            expected_tc = TypeCode.SByte
            M(sb << us, "sb << us")
            expected_tc = TypeCode.SByte
            M(sb << i, "sb << i")
#If Not STRICT Or SByte_ERRORS
            expected_tc = TypeCode.SByte
            M(sb << ui, "sb << ui")
#End If
#If Not STRICT Or SByte_ERRORS
            expected_tc = TypeCode.SByte
            M(sb << l, "sb << l")
#End If
#If Not STRICT Or SByte_ERRORS
            expected_tc = TypeCode.SByte
            M(sb << ul, "sb << ul")
#End If
#If Not STRICT Or SByte_ERRORS
            expected_tc = TypeCode.SByte
            M(sb << dec, "sb << dec")
#End If
#If Not STRICT Or SByte_ERRORS
            expected_tc = TypeCode.SByte
            M(sb << sng, "sb << sng")
#End If
#If Not STRICT Or SByte_ERRORS
            expected_tc = TypeCode.SByte
            M(sb << dbl, "sb << dbl")
#End If
#If SByte_ERRORS
            M(sb << chr, "sb << chr")
#End If
#If Not STRICT Or SByte_ERRORS
            expected_tc = TypeCode.SByte
            M(sb << str, "sb << str")
#End If
#If SByte_ERRORS
            M(sb << dt, "sb << dt")
#End If
#If SByte_ERRORS
            M(sb << dbnull, "sb << dbnull")
#End If
#If Not STRICT Or SByte_ERRORS
            expected_tc = TypeCode.Object
            M(sb << obj, "sb << obj")
#End If
#If Not STRICT Or Int16_ERRORS
            expected_tc = TypeCode.Int16
            M(s << bool, "s << bool")
#End If
            expected_tc = TypeCode.Int16
            M(s << b, "s << b")
            expected_tc = TypeCode.Int16
            M(s << sb, "s << sb")
            expected_tc = TypeCode.Int16
            M(s << s, "s << s")
            expected_tc = TypeCode.Int16
            M(s << us, "s << us")
            expected_tc = TypeCode.Int16
            M(s << i, "s << i")
#If Not STRICT Or Int16_ERRORS
            expected_tc = TypeCode.Int16
            M(s << ui, "s << ui")
#End If
#If Not STRICT Or Int16_ERRORS
            expected_tc = TypeCode.Int16
            M(s << l, "s << l")
#End If
#If Not STRICT Or Int16_ERRORS
            expected_tc = TypeCode.Int16
            M(s << ul, "s << ul")
#End If
#If Not STRICT Or Int16_ERRORS
            expected_tc = TypeCode.Int16
            M(s << dec, "s << dec")
#End If
#If Not STRICT Or Int16_ERRORS
            expected_tc = TypeCode.Int16
            M(s << sng, "s << sng")
#End If
#If Not STRICT Or Int16_ERRORS
            expected_tc = TypeCode.Int16
            M(s << dbl, "s << dbl")
#End If
#If Int16_ERRORS
            M(s << chr, "s << chr")
#End If
#If Not STRICT Or Int16_ERRORS
            expected_tc = TypeCode.Int16
            M(s << str, "s << str")
#End If
#If Int16_ERRORS
            M(s << dt, "s << dt")
#End If
#If Int16_ERRORS
            M(s << dbnull, "s << dbnull")
#End If
#If Not STRICT Or Int16_ERRORS
            expected_tc = TypeCode.Object
            M(s << obj, "s << obj")
#End If
#If Not STRICT Or UInt16_ERRORS
            expected_tc = TypeCode.UInt16
            M(us << bool, "us << bool")
#End If
            expected_tc = TypeCode.UInt16
            M(us << b, "us << b")
            expected_tc = TypeCode.UInt16
            M(us << sb, "us << sb")
            expected_tc = TypeCode.UInt16
            M(us << s, "us << s")
            expected_tc = TypeCode.UInt16
            M(us << us, "us << us")
            expected_tc = TypeCode.UInt16
            M(us << i, "us << i")
#If Not STRICT Or UInt16_ERRORS
            expected_tc = TypeCode.UInt16
            M(us << ui, "us << ui")
#End If
#If Not STRICT Or UInt16_ERRORS
            expected_tc = TypeCode.UInt16
            M(us << l, "us << l")
#End If
#If Not STRICT Or UInt16_ERRORS
            expected_tc = TypeCode.UInt16
            M(us << ul, "us << ul")
#End If
#If Not STRICT Or UInt16_ERRORS
            expected_tc = TypeCode.UInt16
            M(us << dec, "us << dec")
#End If
#If Not STRICT Or UInt16_ERRORS
            expected_tc = TypeCode.UInt16
            M(us << sng, "us << sng")
#End If
#If Not STRICT Or UInt16_ERRORS
            expected_tc = TypeCode.UInt16
            M(us << dbl, "us << dbl")
#End If
#If UInt16_ERRORS
            M(us << chr, "us << chr")
#End If
#If Not STRICT Or UInt16_ERRORS
            expected_tc = TypeCode.UInt16
            M(us << str, "us << str")
#End If
#If UInt16_ERRORS
            M(us << dt, "us << dt")
#End If
#If UInt16_ERRORS
            M(us << dbnull, "us << dbnull")
#End If
#If Not STRICT Or UInt16_ERRORS
            expected_tc = TypeCode.Object
            M(us << obj, "us << obj")
#End If
#If Not STRICT Or Int32_ERRORS
            expected_tc = TypeCode.Int32
            M(i << bool, "i << bool")
#End If
            expected_tc = TypeCode.Int32
            M(i << b, "i << b")
            expected_tc = TypeCode.Int32
            M(i << sb, "i << sb")
            expected_tc = TypeCode.Int32
            M(i << s, "i << s")
            expected_tc = TypeCode.Int32
            M(i << us, "i << us")
            expected_tc = TypeCode.Int32
            M(i << i, "i << i")
#If Not STRICT Or Int32_ERRORS
            expected_tc = TypeCode.Int32
            M(i << ui, "i << ui")
#End If
#If Not STRICT Or Int32_ERRORS
            expected_tc = TypeCode.Int32
            M(i << l, "i << l")
#End If
#If Not STRICT Or Int32_ERRORS
            expected_tc = TypeCode.Int32
            M(i << ul, "i << ul")
#End If
#If Not STRICT Or Int32_ERRORS
            expected_tc = TypeCode.Int32
            M(i << dec, "i << dec")
#End If
#If Not STRICT Or Int32_ERRORS
            expected_tc = TypeCode.Int32
            M(i << sng, "i << sng")
#End If
#If Not STRICT Or Int32_ERRORS
            expected_tc = TypeCode.Int32
            M(i << dbl, "i << dbl")
#End If
#If Int32_ERRORS
            M(i << chr, "i << chr")
#End If
#If Not STRICT Or Int32_ERRORS
            expected_tc = TypeCode.Int32
            M(i << str, "i << str")
#End If
#If Int32_ERRORS
            M(i << dt, "i << dt")
#End If
#If Int32_ERRORS
            M(i << dbnull, "i << dbnull")
#End If
#If Not STRICT Or Int32_ERRORS
            expected_tc = TypeCode.Object
            M(i << obj, "i << obj")
#End If
#If Not STRICT Or UInt32_ERRORS
            expected_tc = TypeCode.UInt32
            M(ui << bool, "ui << bool")
#End If
            expected_tc = TypeCode.UInt32
            M(ui << b, "ui << b")
            expected_tc = TypeCode.UInt32
            M(ui << sb, "ui << sb")
            expected_tc = TypeCode.UInt32
            M(ui << s, "ui << s")
            expected_tc = TypeCode.UInt32
            M(ui << us, "ui << us")
            expected_tc = TypeCode.UInt32
            M(ui << i, "ui << i")
#If Not STRICT Or UInt32_ERRORS
            expected_tc = TypeCode.UInt32
            M(ui << ui, "ui << ui")
#End If
#If Not STRICT Or UInt32_ERRORS
            expected_tc = TypeCode.UInt32
            M(ui << l, "ui << l")
#End If
#If Not STRICT Or UInt32_ERRORS
            expected_tc = TypeCode.UInt32
            M(ui << ul, "ui << ul")
#End If
#If Not STRICT Or UInt32_ERRORS
            expected_tc = TypeCode.UInt32
            M(ui << dec, "ui << dec")
#End If
#If Not STRICT Or UInt32_ERRORS
            expected_tc = TypeCode.UInt32
            M(ui << sng, "ui << sng")
#End If
#If Not STRICT Or UInt32_ERRORS
            expected_tc = TypeCode.UInt32
            M(ui << dbl, "ui << dbl")
#End If
#If UInt32_ERRORS
            M(ui << chr, "ui << chr")
#End If
#If Not STRICT Or UInt32_ERRORS
            expected_tc = TypeCode.UInt32
            M(ui << str, "ui << str")
#End If
#If UInt32_ERRORS
            M(ui << dt, "ui << dt")
#End If
#If UInt32_ERRORS
            M(ui << dbnull, "ui << dbnull")
#End If
#If Not STRICT Or UInt32_ERRORS
            expected_tc = TypeCode.Object
            M(ui << obj, "ui << obj")
#End If
#If Not STRICT Or Int64_ERRORS
            expected_tc = TypeCode.Int64
            M(l << bool, "l << bool")
#End If
            expected_tc = TypeCode.Int64
            M(l << b, "l << b")
            expected_tc = TypeCode.Int64
            M(l << sb, "l << sb")
            expected_tc = TypeCode.Int64
            M(l << s, "l << s")
            expected_tc = TypeCode.Int64
            M(l << us, "l << us")
            expected_tc = TypeCode.Int64
            M(l << i, "l << i")
#If Not STRICT Or Int64_ERRORS
            expected_tc = TypeCode.Int64
            M(l << ui, "l << ui")
#End If
#If Not STRICT Or Int64_ERRORS
            expected_tc = TypeCode.Int64
            M(l << l, "l << l")
#End If
#If Not STRICT Or Int64_ERRORS
            expected_tc = TypeCode.Int64
            M(l << ul, "l << ul")
#End If
#If Not STRICT Or Int64_ERRORS
            expected_tc = TypeCode.Int64
            M(l << dec, "l << dec")
#End If
#If Not STRICT Or Int64_ERRORS
            expected_tc = TypeCode.Int64
            M(l << sng, "l << sng")
#End If
#If Not STRICT Or Int64_ERRORS
            expected_tc = TypeCode.Int64
            M(l << dbl, "l << dbl")
#End If
#If Int64_ERRORS
            M(l << chr, "l << chr")
#End If
#If Not STRICT Or Int64_ERRORS
            expected_tc = TypeCode.Int64
            M(l << str, "l << str")
#End If
#If Int64_ERRORS
            M(l << dt, "l << dt")
#End If
#If Int64_ERRORS
            M(l << dbnull, "l << dbnull")
#End If
#If Not STRICT Or Int64_ERRORS
            expected_tc = TypeCode.Object
            M(l << obj, "l << obj")
#End If
#If Not STRICT Or UInt64_ERRORS
            expected_tc = TypeCode.UInt64
            M(ul << bool, "ul << bool")
#End If
            expected_tc = TypeCode.UInt64
            M(ul << b, "ul << b")
            expected_tc = TypeCode.UInt64
            M(ul << sb, "ul << sb")
            expected_tc = TypeCode.UInt64
            M(ul << s, "ul << s")
            expected_tc = TypeCode.UInt64
            M(ul << us, "ul << us")
            expected_tc = TypeCode.UInt64
            M(ul << i, "ul << i")
#If Not STRICT Or UInt64_ERRORS
            expected_tc = TypeCode.UInt64
            M(ul << ui, "ul << ui")
#End If
#If Not STRICT Or UInt64_ERRORS
            expected_tc = TypeCode.UInt64
            M(ul << l, "ul << l")
#End If
#If Not STRICT Or UInt64_ERRORS
            expected_tc = TypeCode.UInt64
            M(ul << ul, "ul << ul")
#End If
#If Not STRICT Or UInt64_ERRORS
            expected_tc = TypeCode.UInt64
            M(ul << dec, "ul << dec")
#End If
#If Not STRICT Or UInt64_ERRORS
            expected_tc = TypeCode.UInt64
            M(ul << sng, "ul << sng")
#End If
#If Not STRICT Or UInt64_ERRORS
            expected_tc = TypeCode.UInt64
            M(ul << dbl, "ul << dbl")
#End If
#If UInt64_ERRORS
            M(ul << chr, "ul << chr")
#End If
#If Not STRICT Or UInt64_ERRORS
            expected_tc = TypeCode.UInt64
            M(ul << str, "ul << str")
#End If
#If UInt64_ERRORS
            M(ul << dt, "ul << dt")
#End If
#If UInt64_ERRORS
            M(ul << dbnull, "ul << dbnull")
#End If
#If Not STRICT Or UInt64_ERRORS
            expected_tc = TypeCode.Object
            M(ul << obj, "ul << obj")
#End If
#If Not STRICT Or Decimal_ERRORS
            expected_tc = TypeCode.Int64
            M(dec << bool, "dec << bool")
#End If
#If Not STRICT Or Decimal_ERRORS
            expected_tc = TypeCode.Int64
            M(dec << b, "dec << b")
#End If
#If Not STRICT Or Decimal_ERRORS
            expected_tc = TypeCode.Int64
            M(dec << sb, "dec << sb")
#End If
#If Not STRICT Or Decimal_ERRORS
            expected_tc = TypeCode.Int64
            M(dec << s, "dec << s")
#End If
#If Not STRICT Or Decimal_ERRORS
            expected_tc = TypeCode.Int64
            M(dec << us, "dec << us")
#End If
#If Not STRICT Or Decimal_ERRORS
            expected_tc = TypeCode.Int64
            M(dec << i, "dec << i")
#End If
#If Not STRICT Or Decimal_ERRORS
            expected_tc = TypeCode.Int64
            M(dec << ui, "dec << ui")
#End If
#If Not STRICT Or Decimal_ERRORS
            expected_tc = TypeCode.Int64
            M(dec << l, "dec << l")
#End If
#If Not STRICT Or Decimal_ERRORS
            expected_tc = TypeCode.Int64
            M(dec << ul, "dec << ul")
#End If
#If Not STRICT Or Decimal_ERRORS
            expected_tc = TypeCode.Int64
            M(dec << dec, "dec << dec")
#End If
#If Not STRICT Or Decimal_ERRORS
            expected_tc = TypeCode.Int64
            M(dec << sng, "dec << sng")
#End If
#If Not STRICT Or Decimal_ERRORS
            expected_tc = TypeCode.Int64
            M(dec << dbl, "dec << dbl")
#End If
#If Decimal_ERRORS
            M(dec << chr, "dec << chr")
#End If
#If Not STRICT Or Decimal_ERRORS
            expected_tc = TypeCode.Int64
            M(dec << str, "dec << str")
#End If
#If Decimal_ERRORS
            M(dec << dt, "dec << dt")
#End If
#If Decimal_ERRORS
            M(dec << dbnull, "dec << dbnull")
#End If
#If Not STRICT Or Decimal_ERRORS
            expected_tc = TypeCode.Object
            M(dec << obj, "dec << obj")
#End If
#If Not STRICT Or Single_ERRORS
            expected_tc = TypeCode.Int64
            M(sng << bool, "sng << bool")
#End If
#If Not STRICT Or Single_ERRORS
            expected_tc = TypeCode.Int64
            M(sng << b, "sng << b")
#End If
#If Not STRICT Or Single_ERRORS
            expected_tc = TypeCode.Int64
            M(sng << sb, "sng << sb")
#End If
#If Not STRICT Or Single_ERRORS
            expected_tc = TypeCode.Int64
            M(sng << s, "sng << s")
#End If
#If Not STRICT Or Single_ERRORS
            expected_tc = TypeCode.Int64
            M(sng << us, "sng << us")
#End If
#If Not STRICT Or Single_ERRORS
            expected_tc = TypeCode.Int64
            M(sng << i, "sng << i")
#End If
#If Not STRICT Or Single_ERRORS
            expected_tc = TypeCode.Int64
            M(sng << ui, "sng << ui")
#End If
#If Not STRICT Or Single_ERRORS
            expected_tc = TypeCode.Int64
            M(sng << l, "sng << l")
#End If
#If Not STRICT Or Single_ERRORS
            expected_tc = TypeCode.Int64
            M(sng << ul, "sng << ul")
#End If
#If Not STRICT Or Single_ERRORS
            expected_tc = TypeCode.Int64
            M(sng << dec, "sng << dec")
#End If
#If Not STRICT Or Single_ERRORS
            expected_tc = TypeCode.Int64
            M(sng << sng, "sng << sng")
#End If
#If Not STRICT Or Single_ERRORS
            expected_tc = TypeCode.Int64
            M(sng << dbl, "sng << dbl")
#End If
#If Single_ERRORS
            M(sng << chr, "sng << chr")
#End If
#If Not STRICT Or Single_ERRORS
            expected_tc = TypeCode.Int64
            M(sng << str, "sng << str")
#End If
#If Single_ERRORS
            M(sng << dt, "sng << dt")
#End If
#If Single_ERRORS
            M(sng << dbnull, "sng << dbnull")
#End If
#If Not STRICT Or Single_ERRORS
            expected_tc = TypeCode.Object
            M(sng << obj, "sng << obj")
#End If
#If Not STRICT Or Double_ERRORS
            expected_tc = TypeCode.Int64
            M(dbl << bool, "dbl << bool")
#End If
#If Not STRICT Or Double_ERRORS
            expected_tc = TypeCode.Int64
            M(dbl << b, "dbl << b")
#End If
#If Not STRICT Or Double_ERRORS
            expected_tc = TypeCode.Int64
            M(dbl << sb, "dbl << sb")
#End If
#If Not STRICT Or Double_ERRORS
            expected_tc = TypeCode.Int64
            M(dbl << s, "dbl << s")
#End If
#If Not STRICT Or Double_ERRORS
            expected_tc = TypeCode.Int64
            M(dbl << us, "dbl << us")
#End If
#If Not STRICT Or Double_ERRORS
            expected_tc = TypeCode.Int64
            M(dbl << i, "dbl << i")
#End If
#If Not STRICT Or Double_ERRORS
            expected_tc = TypeCode.Int64
            M(dbl << ui, "dbl << ui")
#End If
#If Not STRICT Or Double_ERRORS
            expected_tc = TypeCode.Int64
            M(dbl << l, "dbl << l")
#End If
#If Not STRICT Or Double_ERRORS
            expected_tc = TypeCode.Int64
            M(dbl << ul, "dbl << ul")
#End If
#If Not STRICT Or Double_ERRORS
            expected_tc = TypeCode.Int64
            M(dbl << dec, "dbl << dec")
#End If
#If Not STRICT Or Double_ERRORS
            expected_tc = TypeCode.Int64
            M(dbl << sng, "dbl << sng")
#End If
#If Not STRICT Or Double_ERRORS
            expected_tc = TypeCode.Int64
            M(dbl << dbl, "dbl << dbl")
#End If
#If Double_ERRORS
            M(dbl << chr, "dbl << chr")
#End If
#If Not STRICT Or Double_ERRORS
            expected_tc = TypeCode.Int64
            M(dbl << str, "dbl << str")
#End If
#If Double_ERRORS
            M(dbl << dt, "dbl << dt")
#End If
#If Double_ERRORS
            M(dbl << dbnull, "dbl << dbnull")
#End If
#If Not STRICT Or Double_ERRORS
            expected_tc = TypeCode.Object
            M(dbl << obj, "dbl << obj")
#End If
#If Char_ERRORS
            M(chr << bool, "chr << bool")
#End If
#If Char_ERRORS
            M(chr << b, "chr << b")
#End If
#If Char_ERRORS
            M(chr << sb, "chr << sb")
#End If
#If Char_ERRORS
            M(chr << s, "chr << s")
#End If
#If Char_ERRORS
            M(chr << us, "chr << us")
#End If
#If Char_ERRORS
            M(chr << i, "chr << i")
#End If
#If Char_ERRORS
            M(chr << ui, "chr << ui")
#End If
#If Char_ERRORS
            M(chr << l, "chr << l")
#End If
#If Char_ERRORS
            M(chr << ul, "chr << ul")
#End If
#If Char_ERRORS
            M(chr << dec, "chr << dec")
#End If
#If Char_ERRORS
            M(chr << sng, "chr << sng")
#End If
#If Char_ERRORS
            M(chr << dbl, "chr << dbl")
#End If
#If Char_ERRORS
            M(chr << chr, "chr << chr")
#End If
#If Char_ERRORS
            M(chr << str, "chr << str")
#End If
#If Char_ERRORS
            M(chr << dt, "chr << dt")
#End If
#If Char_ERRORS
            M(chr << dbnull, "chr << dbnull")
#End If
#If Char_ERRORS
            M(chr << obj, "chr << obj")
#End If
#If Not STRICT Or String_ERRORS
            expected_tc = TypeCode.Int64
            M(str << bool, "str << bool")
#End If
#If Not STRICT Or String_ERRORS
            expected_tc = TypeCode.Int64
            M(str << b, "str << b")
#End If
#If Not STRICT Or String_ERRORS
            expected_tc = TypeCode.Int64
            M(str << sb, "str << sb")
#End If
#If Not STRICT Or String_ERRORS
            expected_tc = TypeCode.Int64
            M(str << s, "str << s")
#End If
#If Not STRICT Or String_ERRORS
            expected_tc = TypeCode.Int64
            M(str << us, "str << us")
#End If
#If Not STRICT Or String_ERRORS
            expected_tc = TypeCode.Int64
            M(str << i, "str << i")
#End If
#If Not STRICT Or String_ERRORS
            expected_tc = TypeCode.Int64
            M(str << ui, "str << ui")
#End If
#If Not STRICT Or String_ERRORS
            expected_tc = TypeCode.Int64
            M(str << l, "str << l")
#End If
#If Not STRICT Or String_ERRORS
            expected_tc = TypeCode.Int64
            M(str << ul, "str << ul")
#End If
#If Not STRICT Or String_ERRORS
            expected_tc = TypeCode.Int64
            M(str << dec, "str << dec")
#End If
#If Not STRICT Or String_ERRORS
            expected_tc = TypeCode.Int64
            M(str << sng, "str << sng")
#End If
#If Not STRICT Or String_ERRORS
            expected_tc = TypeCode.Int64
            M(str << dbl, "str << dbl")
#End If
#If String_ERRORS
            M(str << chr, "str << chr")
#End If
#If Not STRICT Or String_ERRORS
            expected_tc = TypeCode.Int64
            M(str << str, "str << str")
#End If
#If String_ERRORS
            M(str << dt, "str << dt")
#End If
#If String_ERRORS
            M(str << dbnull, "str << dbnull")
#End If
#If Not STRICT Or String_ERRORS
            expected_tc = TypeCode.Object
            M(str << obj, "str << obj")
#End If
#If DateTime_ERRORS
            M(dt << bool, "dt << bool")
#End If
#If DateTime_ERRORS
            M(dt << b, "dt << b")
#End If
#If DateTime_ERRORS
            M(dt << sb, "dt << sb")
#End If
#If DateTime_ERRORS
            M(dt << s, "dt << s")
#End If
#If DateTime_ERRORS
            M(dt << us, "dt << us")
#End If
#If DateTime_ERRORS
            M(dt << i, "dt << i")
#End If
#If DateTime_ERRORS
            M(dt << ui, "dt << ui")
#End If
#If DateTime_ERRORS
            M(dt << l, "dt << l")
#End If
#If DateTime_ERRORS
            M(dt << ul, "dt << ul")
#End If
#If DateTime_ERRORS
            M(dt << dec, "dt << dec")
#End If
#If DateTime_ERRORS
            M(dt << sng, "dt << sng")
#End If
#If DateTime_ERRORS
            M(dt << dbl, "dt << dbl")
#End If
#If DateTime_ERRORS
            M(dt << chr, "dt << chr")
#End If
#If DateTime_ERRORS
            M(dt << str, "dt << str")
#End If
#If DateTime_ERRORS
            M(dt << dt, "dt << dt")
#End If
#If DateTime_ERRORS
            M(dt << dbnull, "dt << dbnull")
#End If
#If DateTime_ERRORS
            M(dt << obj, "dt << obj")
#End If
#If DBNull_ERRORS
            M(dbnull << bool, "dbnull << bool")
#End If
#If DBNull_ERRORS
            M(dbnull << b, "dbnull << b")
#End If
#If DBNull_ERRORS
            M(dbnull << sb, "dbnull << sb")
#End If
#If DBNull_ERRORS
            M(dbnull << s, "dbnull << s")
#End If
#If DBNull_ERRORS
            M(dbnull << us, "dbnull << us")
#End If
#If DBNull_ERRORS
            M(dbnull << i, "dbnull << i")
#End If
#If DBNull_ERRORS
            M(dbnull << ui, "dbnull << ui")
#End If
#If DBNull_ERRORS
            M(dbnull << l, "dbnull << l")
#End If
#If DBNull_ERRORS
            M(dbnull << ul, "dbnull << ul")
#End If
#If DBNull_ERRORS
            M(dbnull << dec, "dbnull << dec")
#End If
#If DBNull_ERRORS
            M(dbnull << sng, "dbnull << sng")
#End If
#If DBNull_ERRORS
            M(dbnull << dbl, "dbnull << dbl")
#End If
#If DBNull_ERRORS
            M(dbnull << chr, "dbnull << chr")
#End If
#If DBNull_ERRORS
            M(dbnull << str, "dbnull << str")
#End If
#If DBNull_ERRORS
            M(dbnull << dt, "dbnull << dt")
#End If
#If DBNull_ERRORS
            M(dbnull << dbnull, "dbnull << dbnull")
#End If
#If DBNull_ERRORS
            M(dbnull << obj, "dbnull << obj")
#End If
#If Not STRICT Or Object_ERRORS
            expected_tc = TypeCode.Object
            M(obj << bool, "obj << bool")
#End If
#If Not STRICT Or Object_ERRORS
            expected_tc = TypeCode.Object
            M(obj << b, "obj << b")
#End If
#If Not STRICT Or Object_ERRORS
            expected_tc = TypeCode.Object
            M(obj << sb, "obj << sb")
#End If
#If Not STRICT Or Object_ERRORS
            expected_tc = TypeCode.Object
            M(obj << s, "obj << s")
#End If
#If Not STRICT Or Object_ERRORS
            expected_tc = TypeCode.Object
            M(obj << us, "obj << us")
#End If
#If Not STRICT Or Object_ERRORS
            expected_tc = TypeCode.Object
            M(obj << i, "obj << i")
#End If
#If Not STRICT Or Object_ERRORS
            expected_tc = TypeCode.Object
            M(obj << ui, "obj << ui")
#End If
#If Not STRICT Or Object_ERRORS
            expected_tc = TypeCode.Object
            M(obj << l, "obj << l")
#End If
#If Not STRICT Or Object_ERRORS
            expected_tc = TypeCode.Object
            M(obj << ul, "obj << ul")
#End If
#If Not STRICT Or Object_ERRORS
            expected_tc = TypeCode.Object
            M(obj << dec, "obj << dec")
#End If
#If Not STRICT Or Object_ERRORS
            expected_tc = TypeCode.Object
            M(obj << sng, "obj << sng")
#End If
#If Not STRICT Or Object_ERRORS
            expected_tc = TypeCode.Object
            M(obj << dbl, "obj << dbl")
#End If
#If Not STRICT Or Object_ERRORS
        Try
            expected_tc = TypeCode.Object
            M(obj << chr, "obj << chr")
        Catch ex as InvalidCastException
        End Try
#End If
#If Not STRICT Or Object_ERRORS
            expected_tc = TypeCode.Object
            M(obj << str, "obj << str")
#End If
#If Not STRICT Or Object_ERRORS
        Try
            expected_tc = TypeCode.Object
            M(obj << dt, "obj << dt")
        Catch ex as InvalidCastException
        End Try
#End If
#If Object_ERRORS
            M(obj << dbnull, "obj << dbnull")
#End If
#If Not STRICT Or Object_ERRORS
            expected_tc = TypeCode.Object
            M(obj << obj, "obj << obj")
#End If
        If failures > 0 Then Return 1
    Catch ex As Exception
        Console.WriteLine ("Exception: {0}", ex)
        Return 2
    End Try
    Return 0
    End Function
End Class
