public void CastReturnTypeToInt32_returns_false_when_function_is_in_list_to_need_cast_but_return_type_does_not_match() { Assert.False( SqlFunctionCallHandler.CastReturnTypeToInt32( CreateMockSqlGenerator("nope").Object, CreateMockDbFunctionExpression("SqlServer.PATINDEX", PrimitiveTypeKind.Int32).Object)); }
public void CastReturnTypeToInt32_returns_true_when_function_is_in_list_to_need_cast() { Assert.True( SqlFunctionCallHandler.CastReturnTypeToInt32( CreateMockSqlGenerator("ntext").Object, CreateMockDbFunctionExpression("SqlServer.PATINDEX", PrimitiveTypeKind.Int32).Object)); }
private static string BuildSqlForDateTimeOffset(DateTimeOffset dateTimeOffset, SqlVersion sqlVersion) { var builder = new StringBuilder(); var sqlGenerator = new SqlGenerator(sqlVersion); var functionExpression = EdmFunctions.CreateDateTimeOffset( DbExpression.FromInt32(dateTimeOffset.Year), DbExpression.FromInt32(dateTimeOffset.Month), DbExpression.FromInt32(dateTimeOffset.Day), DbExpression.FromInt32(dateTimeOffset.Hour), DbExpression.FromInt32(dateTimeOffset.Minute), DbExpression.FromInt32(dateTimeOffset.Second), DbExpression.FromInt32(Convert.ToInt32(dateTimeOffset.Offset.TotalMinutes))); var sqlFragment = SqlFunctionCallHandler.GenerateFunctionCallSql( sqlGenerator, functionExpression); using (var sqlWriter = new SqlWriter(builder)) { sqlFragment.WriteSql(sqlWriter, sqlGenerator); } return(builder.ToString()); }
public void HandleDatepartDateFunction_throws_when_argument_does_not_contain_a_valid_date_part() { Assert.Equal( Strings.SqlGen_InvalidDatePartArgumentValue("mp4-27", "My", "Function"), Assert.Throws <InvalidOperationException>( () => SqlFunctionCallHandler.HandleDatepartDateFunction( null, CreateMockDbFunctionExpression("My.Function", PrimitiveTypeKind.String, "mp4-27").Object)).Message); }
public void HandleDatepartDateFunction_throws_when_argument_is_not_a_string() { Assert.Equal( Strings.SqlGen_InvalidDatePartArgumentExpression("My", "Function"), Assert.Throws <InvalidOperationException>( () => SqlFunctionCallHandler.HandleDatepartDateFunction( null, CreateMockDbFunctionExpression("My.Function", PrimitiveTypeKind.String, 69).Object)).Message); }
public void HandleDatepartDateFunction_throws_when_argument_is_not_a_constant() { var mockExpression = new Mock <DbFunctionExpression>(); mockExpression.Setup(m => m.Function).Returns(CreateMockEdmFunction("My.Function").Object); mockExpression.Setup(m => m.Arguments).Returns(new[] { new Mock <DbExpression>().Object }); Assert.Equal( Strings.SqlGen_InvalidDatePartArgumentExpression("My", "Function"), Assert.Throws <InvalidOperationException>( () => SqlFunctionCallHandler.HandleDatepartDateFunction(null, mockExpression.Object)).Message); }
public void HandleDatepartDateFunction_builds_SQL_for_the_given_date_part_with_arguments() { var builder = new StringBuilder(); using (var writer = new SqlWriter(builder)) { SqlFunctionCallHandler.HandleDatepartDateFunction( null, CreateMockDbFunctionExpression("My.Function", PrimitiveTypeKind.String, "iso_week", "One", "Two").Object) .WriteSql(writer, null); Assert.Equal("[My].[Function](iso_week, One, Two)", builder.ToString()); } }
private static string BuildSqlForTruncateTime(DateTimeOffset dateTimeOffset, SqlVersion sqlVersion) { var builder = new StringBuilder(); var sqlGenerator = new SqlGenerator(sqlVersion); var functionExpression = EdmFunctions.TruncateTime( DbExpression.FromDateTimeOffset(dateTimeOffset)); var sqlFragment = SqlFunctionCallHandler.GenerateFunctionCallSql( sqlGenerator, functionExpression); using (var sqlWriter = new SqlWriter(builder)) { sqlFragment.WriteSql(sqlWriter, sqlGenerator); } return(builder.ToString()); }
public void CastReturnTypeToInt32_returns_false_when_function_is_not_in_list_that_needs_this_cast() { Assert.False( SqlFunctionCallHandler.CastReturnTypeToInt32( new SqlGenerator(), CreateMockDbFunctionExpression("Edm.NotOnYourNelly", PrimitiveTypeKind.Int32).Object)); }
public void CastReturnTypeToInt64_returns_true_when_function_is_in_list_to_need_cast() { Assert.True( SqlFunctionCallHandler.CastReturnTypeToInt64( CreateMockDbFunctionExpression("SqlServer.CHARINDEX", PrimitiveTypeKind.Int64).Object)); }
public void CastReturnTypeToSingle_returns_false_when_function_is_in_list_to_need_cast_but_return_type_does_not_match() { Assert.False( SqlFunctionCallHandler.CastReturnTypeToSingle( CreateMockDbFunctionExpression("Edm.Floor", PrimitiveTypeKind.Double).Object)); }
public void CastReturnTypeToSingle_returns_true_when_function_is_in_list_to_need_cast() { Assert.True( SqlFunctionCallHandler.CastReturnTypeToSingle( CreateMockDbFunctionExpression("Edm.Floor", PrimitiveTypeKind.Single).Object)); }
public void CastReturnTypeToSingle_returns_false_when_function_is_not_in_list_that_needs_this_cast() { Assert.False( SqlFunctionCallHandler.CastReturnTypeToSingle( CreateMockDbFunctionExpression("Edm.NotOnYourNelly", PrimitiveTypeKind.Single).Object)); }