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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }