public static void GetString(SqlTypeCode typeCode, int p, int s, string expected)
        {
            var type = PrimitiveTypes.Type(typeCode, new { precision = p, scale = s });

            Assert.NotNull(type);
            Assert.IsType <SqlNumericType>(type);

            var sqlString = type.ToString();

            Assert.Equal(expected, sqlString);
        }
Example #2
0
        public static void CastToInvalid(SqlTypeCode destTypeCode)
        {
            var value = SqlBoolean.True;
            var type  = PrimitiveTypes.Boolean();

            var destType = PrimitiveTypes.Type(destTypeCode);

            Assert.False(type.CanCastTo(value, destType));

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

            Assert.Equal(SqlNull.Value, result);
        }
Example #3
0
        public static void CastTo(SqlTypeCode srcTypeCode, bool value, SqlTypeCode destTypeCode, int p, int s, object expected)
        {
            var b        = (SqlBoolean)value;
            var srcType  = PrimitiveTypes.Boolean(srcTypeCode);
            var destType = PrimitiveTypes.Type(destTypeCode, new { precision = p, scale = s, maxSize = p });

            Assert.True(srcType.CanCastTo(b, destType));

            var result        = srcType.Cast(b, destType);
            var expectedValue = SqlValueUtil.FromObject(expected);

            Assert.Equal(expectedValue, result);
        }
        public static void CastToString(string value, SqlTypeCode destTypeCode, int size, string expexted)
        {
            var dts = SqlDayToSecond.Parse(value);

            var type     = new SqlDayToSecondType();
            var destType = PrimitiveTypes.Type(destTypeCode, new { size });
            var result   = type.Cast(dts, destType);

            var exp = SqlValueUtil.FromObject(expexted);

            Assert.NotNull(result);
            Assert.Equal(exp, result);
        }
        public static void CastToBinary(string value, SqlTypeCode destTypeCode, int size)
        {
            var dts = SqlDayToSecond.Parse(value);

            var type     = new SqlDayToSecondType();
            var destType = PrimitiveTypes.Type(destTypeCode, new { size });
            var result   = type.Cast(dts, destType);

            Assert.IsType <SqlBinary>(result);

            var binary = (SqlBinary)result;
            var bytes  = binary.ToByteArray();

            var back = new SqlDayToSecond(bytes);

            Assert.Equal(dts, back);
        }
        public static void ResolveType(SqlTypeCode typeCode, string propName1, object prop1, string propName2, object prop2)
        {
            var props = new Dictionary <string, object>(StringComparer.OrdinalIgnoreCase);

            if (!String.IsNullOrEmpty(propName1))
            {
                props.Add(propName1, prop1);
            }
            if (!String.IsNullOrEmpty(propName2))
            {
                props.Add(propName2, prop2);
            }

            var sqlType = PrimitiveTypes.Type(typeCode, props);

            Assert.NotNull(sqlType);
            Assert.Equal(typeCode, sqlType.TypeCode);
            Assert.True(sqlType.IsPrimitive);
            Assert.False(sqlType.IsReference);
        }