Example #1
0
 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);
 }
Example #2
0
 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);
 }
Example #3
0
            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);
            }
Example #4
0
            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());
                }
            }