Beispiel #1
0
        public static void Cast(object value, SqlTypeCode destTypeCode, int p, int s, object expected)
        {
            var srcType  = SqlTypeUtil.FromValue(value);
            var destType = PrimitiveTypes.Type(destTypeCode, new { precision = p, scale = s, maxSize = p, size = p });

            Cast(srcType, value, destType, expected);
        }
Beispiel #2
0
        public static void Cast(SqlTypeCode srcTypeCode, int p1, int s1, object value, SqlTypeCode destTypeCode, int p2, int s2,
                                object expected)
        {
            var srcType  = PrimitiveTypes.Type(srcTypeCode, new { precision = p1, scale = s1, maxSize = p1, size = p1 });
            var destType = PrimitiveTypes.Type(destTypeCode, new { precision = p2, scale = s2, maxSize = p2, size = p2 });

            Cast(srcType, value, destType, expected);
        }
Beispiel #3
0
        public static void Serialize(SqlTypeCode typeCode, string s)
        {
            var type   = PrimitiveTypes.Type(typeCode);
            var obj    = SqlObjectParseUtil.Parse(type, s, CultureInfo.InvariantCulture);
            var result = BinarySerializeUtil.Serialize(obj);

            Assert.Equal(obj, result);
        }
Beispiel #4
0
        public static void NullObject_FromSqlNull(SqlTypeCode code)
        {
            var type = PrimitiveTypes.Type(code);
            var obj  = new SqlObject(type, SqlNull.Value);

            Assert.Equal(code, obj.Type.TypeCode);
            Assert.Equal(type, obj.Type);
            Assert.IsType <SqlNull>(obj.Value);
        }
Beispiel #5
0
        public static void Compare(SqlTypeCode typeCode, object value1, object value2, int expected)
        {
            var type = PrimitiveTypes.Type(typeCode);
            var obj1 = new SqlObject(type, SqlValueUtil.FromObject(value1));
            var obj2 = new SqlObject(type, SqlValueUtil.FromObject(value2));

            var result = obj1.CompareTo(obj2);

            Assert.Equal(expected, result);
        }
Beispiel #6
0
        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);
        }
		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);
		}
		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);
		}
Beispiel #9
0
        public static void Serialize(SqlTypeCode typeCode, int precision, int scale, object value)
        {
            var type     = PrimitiveTypes.Type(typeCode, new { precision, size = precision, maxSize = precision, scale });
            var sqlValue = SqlValueUtil.FromObject(value);

            var obj    = new SqlObject(type, sqlValue);
            var result = BinarySerializeUtil.Serialize(obj);

            Assert.Equal(obj, result);
            Assert.Equal(type, result.Type);
            Assert.Equal(sqlValue, result.Value);
        }
        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);
        }
Beispiel #11
0
        public static void EqualNullToNull(SqlTypeCode typeCode1, SqlTypeCode typeCode2)
        {
            var type1 = PrimitiveTypes.Type(typeCode1);
            var type2 = PrimitiveTypes.Type(typeCode2);

            var obj1 = new SqlObject(type1, SqlNull.Value);
            var obj2 = new SqlObject(type2, SqlNull.Value);

            var result         = obj1.Equal(obj2);
            var expectedResult = SqlObject.Boolean(null);

            Assert.Equal(expectedResult, 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);
        }