コード例 #1
0
        public static void CastToBoolean(byte singleByte, bool expected)
        {
            var type = new SqlBinaryType(SqlTypeCode.Binary);

            var value = new SqlBinary(new[] { singleByte });

            Assert.True(type.CanCastTo(value, PrimitiveTypes.Bit()));

            var result = type.Cast(value, PrimitiveTypes.Bit());

            Assert.NotNull(result);
            Assert.IsType <SqlBoolean>(result);

            Assert.Equal(expected, (bool?)((SqlBoolean)result));
        }
コード例 #2
0
        public static void CastToDate(string s, SqlTypeCode typeCode)
        {
            var type     = new SqlBinaryType(SqlTypeCode.Binary);
            var date     = SqlDateTime.Parse(s);
            var destType = new SqlDateTimeType(typeCode);

            var bytes  = date.ToByteArray();
            var binary = new SqlBinary(bytes);

            Assert.True(type.CanCastTo(binary, destType));

            var result = type.Cast(binary, destType);

            Assert.NotNull(result);
            Assert.IsType <SqlDateTime>(result);

            Assert.Equal(date, (SqlDateTime)result);
        }
コード例 #3
0
        public static void CastToString(string s, SqlTypeCode typeCode, int maxSize, string expected)
        {
            var type     = new SqlBinaryType(SqlTypeCode.Binary);
            var input    = (SqlString)s;
            var destType = new SqlCharacterType(typeCode, maxSize, null);

            var bytes  = input.ToByteArray();
            var binary = new SqlBinary(bytes);

            Assert.True(type.CanCastTo(binary, destType));

            var result = type.Cast(binary, destType);

            Assert.NotNull(result);
            Assert.IsType <SqlString>(result);

            Assert.Equal(expected, (SqlString)result);
        }
コード例 #4
0
        public static void CastToNumber()
        {
            var type = new SqlBinaryType(SqlTypeCode.Binary);

            var value = new SqlBinary(new byte[] { 44, 95, 122, 0 });

            Assert.True(type.CanCastTo(value, PrimitiveTypes.Numeric(22, 4)));

            var result = type.Cast(value, PrimitiveTypes.Numeric(22, 4));

            Assert.NotNull(result);
            Assert.IsType <SqlNumber>(result);

            var number = (SqlNumber)result;

            Assert.NotNull(number);
            Assert.False(number.CanBeInt32);
            Assert.Equal(74445.4656, (double)number);
        }