Skip to content

Commit 8029321

Browse files
committed
Added unit test
1 parent 810378b commit 8029321

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed

test/EntityFramework6.Npgsql.Tests/EntityFrameworkBasicTests.cs

+63
Original file line numberDiff line numberDiff line change
@@ -735,6 +735,69 @@ public void Test_issue_27_select_ef_generated_literals_from_inner_select()
735735
}
736736
}
737737

738+
[Test]
739+
public void Test_issue_60_and_62()
740+
{
741+
using (var context = new BloggingContext(ConnectionString))
742+
{
743+
context.Database.Log = Console.Out.WriteLine;
744+
745+
context.Blogs.Add( new Blog { Name = "Hello" });
746+
context.SaveChanges();
747+
748+
string string_value = "string_value";
749+
var query = context.Blogs.Select(b => string_value + "_postfijo").Take(1);
750+
var blog_title = query.First();
751+
Assert.That(blog_title, Is.EqualTo("string_value_postfijo"));
752+
StringAssert.DoesNotContain("case", query.ToString().ToLower() );
753+
}
754+
}
755+
756+
[Test]
757+
public void TestNullPropagation_1()
758+
{
759+
using (var context = new BloggingContext(ConnectionString))
760+
{
761+
context.Database.Log = Console.Out.WriteLine;
762+
763+
context.Blogs.Add( new Blog { Name = "Hello" });
764+
context.SaveChanges();
765+
766+
string valor_string = "string_value";
767+
var query = context.Blogs.Select(b => (valor_string ?? "otro_valor") + "_postfijo").Take(1);
768+
var blog_title = query.First();
769+
Assert.That(blog_title, Is.EqualTo("string_value_postfijo"));
770+
771+
var query_sql = query.ToString().ToLower();
772+
StringAssert.DoesNotContain("case", query.ToString().ToLower() );
773+
StringAssert.Contains("coalesce(@p__linq__0,e'otro_valor',e'')", query_sql);
774+
}
775+
}
776+
777+
[Test]
778+
public void TestNullPropagation_2()
779+
{
780+
using (var context = new BloggingContext(ConnectionString))
781+
{
782+
context.Database.Log = Console.Out.WriteLine;
783+
784+
context.Blogs.Add( new Blog { Name = "Hello" });
785+
context.SaveChanges();
786+
787+
string string_value1 = "string_value1";
788+
string string_value2 = "string_value2";
789+
string string_value3 = "string_value3";
790+
791+
var query = context.Blogs.Select(b => (string_value1 ?? string_value2 ?? string_value3) + "_postfijo").Take(1);
792+
var blog_title = query.First();
793+
Assert.That(blog_title, Is.EqualTo("string_value1_postfijo"));
794+
795+
var query_sql = query.ToString().ToLower();
796+
StringAssert.DoesNotContain("case", query_sql );
797+
StringAssert.Contains("coalesce(@p__linq__0,@p__linq__1,@p__linq__2,e'')", query_sql);
798+
}
799+
}
800+
738801
[Test]
739802
public void TestTableValuedStoredFunctions()
740803
{

0 commit comments

Comments
 (0)