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