public static void Binary(SqlType type, Func <SqlType, Func <ISqlValue, ISqlValue, ISqlValue> > selector, object value1, object value2, object expected) { var x = SqlValueUtil.FromObject(value1); var y = SqlValueUtil.FromObject(value2); var exp = SqlValueUtil.FromObject(expected); var op = selector(type); var result = op(x, y); Assert.Equal(exp, result); }
public static void Binary(SqlType type, Func <SqlType, Func <ISqlValue, ISqlValue, SqlBoolean> > selector, object value1, object value2, bool expected) { var x = SqlValueUtil.FromObject(value1); var y = SqlValueUtil.FromObject(value2); var op = selector(type); var result = op(x, y); Assert.NotNull(result); Assert.Equal(expected, (bool)result); }
public void Compare(bool value1, object value2, int expected) { var a = (SqlBoolean)value1; var b = SqlValueUtil.FromObject(value2); Assert.True((a as ISqlValue).IsComparableTo(b)); var result = a.CompareTo(b); Assert.Equal(expected, result); }
public static void Cast(SqlType srcType, object value, SqlType destType, object expected) { var x = SqlValueUtil.FromObject(value); Assert.True(srcType.CanCastTo(x, destType)); var exp = SqlValueUtil.FromObject(expected); var result = srcType.Cast(x, destType); Assert.Equal(exp, result); }
private static void BinaryOp(Func <SqlNull, ISqlValue, bool> op, object other, bool expected) { var null1 = SqlNull.Value; var value1 = SqlValueUtil.FromObject(other); var result = op(null1, value1); var b = (SqlBoolean)result; var expectedNumber = (SqlBoolean)expected; Assert.Equal(expectedNumber, b); }
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 EnumerateItems(params object[] values) { var array = new SqlArray(values.Select(NewExpression).ToArray()); Assert.Equal(values.Length, array.Length); Assert.True(array.Length > 0); var expected = SqlObject.New(SqlValueUtil.FromObject(values[0])); var first = array.First(); Assert.IsType <SqlConstantExpression>(first); var itemValue = ((SqlConstantExpression)first).Value; Assert.Equal(expected, itemValue); }
public static void Create(params object[] values) { var array = new SqlArray(values.Select(NewExpression).ToArray()); Assert.Equal(values.Length, array.Length); Assert.True(array.Length > 0); var expected = SqlObject.New(SqlValueUtil.FromObject(values[0])); var item = array[0]; Assert.IsType <SqlConstantExpression>(item); var itemValue = ((SqlConstantExpression)item).Value; Assert.Equal(expected, itemValue); }
private static SqlObject FromObject(object value) { if (value == null) { return(SqlObject.Null); } if (value is SqlTypeCode && (SqlTypeCode)value == SqlTypeCode.Unknown) { return(SqlObject.Unknown); } var sqlValue = SqlValueUtil.FromObject(value); var sqlType = SqlTypeUtil.FromValue(value); return(new SqlObject(sqlType, sqlValue)); }
public static void IsComparableTo(object other, bool expected) { var value = SqlValueUtil.FromObject(other); Assert.Equal(expected, (SqlNull.Value as ISqlValue).IsComparableTo(value)); }
public static void CompareTo(object other, int expected) { var value = SqlValueUtil.FromObject(other); Assert.Equal(expected, (SqlNull.Value as IComparable <ISqlValue>).CompareTo(value)); }