Skip to content

Commit

Permalink
#18132 Added more string concat tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Muppets committed Feb 20, 2020
1 parent 3d482a8 commit 259d299
Show file tree
Hide file tree
Showing 3 changed files with 75 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3514,7 +3514,7 @@ public virtual Task Environment_newline_is_funcletized(bool async)

[ConditionalTheory]
[MemberData(nameof(IsAsyncData))]
public virtual Task String_int_concat(bool isAsync)
public virtual Task Concat_string_int(bool isAsync)
{
return AssertQuery(
isAsync,
Expand All @@ -3523,11 +3523,30 @@ public virtual Task String_int_concat(bool isAsync)

[ConditionalTheory]
[MemberData(nameof(IsAsyncData))]
public virtual Task String_constant_int_concat(bool isAsync)
public virtual Task Concat_int_string(bool isAsync)
{
return AssertQuery(
isAsync,
ss => ss.Set<Order>().Select(o => o.OrderID + "-"));
ss => ss.Set<Order>().Select(o => o.CustomerID + o.OrderID));
}

[ConditionalTheory]
[MemberData(nameof(IsAsyncData))]
public virtual Task Concat_parameter_string_int(bool isAsync)
{
var parameter = "-";
return AssertQuery(
isAsync,
ss => ss.Set<Order>().Select(o => parameter + o.OrderID));
}

[ConditionalTheory]
[MemberData(nameof(IsAsyncData))]
public virtual Task Concat_constant_string_int(bool isAsync)
{
return AssertQuery(
isAsync,
ss => ss.Set<Order>().Select(o => "-" + o.OrderID));
}

[ConditionalTheory]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2768,21 +2768,41 @@ FROM [Customers] AS [c]
WHERE (@__NewLine_0 = N'') OR (CHARINDEX(@__NewLine_0, [c].[CustomerID]) > 0)");
}

public override async Task String_int_concat(bool async)
public override async Task Concat_string_int(bool async)
{
await base.String_int_concat(async);
await base.Concat_string_int(async);

AssertSql(
@"SELECT CAST([o].[OrderID] AS nchar(5)) + [o].[CustomerID]
FROM [Orders] AS [o]");
}

public override async Task String_constant_int_concat(bool async)
public override async Task Concat_int_string(bool async)
{
await base.String_constant_int_concat(async);
await base.Concat_int_string(async);

AssertSql(
@"SELECT [o].[OrderID]
@"SELECT COALESCE([o].[CustomerID], N'') + CAST([o].[OrderID] AS nchar(5))
FROM [Orders] AS [o]");
}

public override async Task Concat_parameter_string_int(bool async)
{
await base.Concat_parameter_string_int(async);

AssertSql(
@"@__parameter_0='-' (Size = 4000)
SELECT @__parameter_0 + CAST([o].[OrderID] AS nvarchar(max))
FROM [Orders] AS [o]");
}

public override async Task Concat_constant_string_int(bool async)
{
await base.Concat_constant_string_int(async);

AssertSql(
@"SELECT N'-' + CAST([o].[OrderID] AS nvarchar(max))
FROM [Orders] AS [o]");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -242,14 +242,38 @@ public override Task Complex_nested_query_doesnt_try_binding_to_grandparent_when

public override Task AsQueryable_in_query_server_evals(bool async) => null;

public override Task String_int_concat(bool async) => null;
[ConditionalTheory(Skip = "Issue #19990")]
public override async Task Concat_string_int(bool async)
{
await base.Concat_string_int(async);
}

public override async Task Concat_int_string(bool async)
{
await base.Concat_int_string(async);

AssertSql(
@"SELECT COALESCE(""o"".""CustomerID"", '') || CAST(""o"".""OrderID"" AS TEXT)
FROM ""Orders"" AS ""o""");
}

public override async Task Concat_parameter_string_int(bool async)
{
await base.Concat_parameter_string_int(async);

AssertSql(
@"@__parameter_0='-' (Size = 1)
SELECT @__parameter_0 || CAST(""o"".""OrderID"" AS TEXT)
FROM ""Orders"" AS ""o""");
}

public override async Task String_constant_int_concat(bool async)
public override async Task Concat_constant_string_int(bool async)
{
await base.String_constant_int_concat(async);
await base.Concat_constant_string_int(async);

AssertSql(
@"SELECT ""o"".""OrderID""
@"SELECT '-' || CAST(""o"".""OrderID"" AS TEXT)
FROM ""Orders"" AS ""o""");
}

Expand Down

0 comments on commit 259d299

Please sign in to comment.