Skip to content

Commit 96b19b3

Browse files
Test cases for NH-3951
1 parent 90f5234 commit 96b19b3

File tree

4 files changed

+112
-0
lines changed

4 files changed

+112
-0
lines changed
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
using System;
2+
3+
namespace NHibernate.Test.NHSpecificTest.NH3951
4+
{
5+
class Entity
6+
{
7+
public virtual Guid Id { get; set; }
8+
public virtual string Name { get; set; }
9+
}
10+
}
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
using System.Linq;
2+
using NHibernate.Linq;
3+
using NUnit.Framework;
4+
5+
namespace NHibernate.Test.NHSpecificTest.NH3951
6+
{
7+
[TestFixture]
8+
public class Fixture : BugTestCase
9+
{
10+
protected override void OnSetUp()
11+
{
12+
using (ISession session = OpenSession())
13+
using (ITransaction transaction = session.BeginTransaction())
14+
{
15+
var e1 = new Entity {Name = "Bob"};
16+
session.Save(e1);
17+
18+
var e2 = new Entity {Name = "Sally"};
19+
session.Save(e2);
20+
21+
session.Flush();
22+
transaction.Commit();
23+
}
24+
}
25+
26+
protected override void OnTearDown()
27+
{
28+
using (ISession session = OpenSession())
29+
using (ITransaction transaction = session.BeginTransaction())
30+
{
31+
session.Delete("from System.Object");
32+
33+
session.Flush();
34+
transaction.Commit();
35+
}
36+
}
37+
38+
[Test]
39+
public void AllNamedBob()
40+
{
41+
using (ISession session = OpenSession())
42+
using (session.BeginTransaction())
43+
{
44+
var result = session.Query<Entity>()
45+
.All(e => e.Name == "Bob");
46+
47+
Assert.AreEqual(false, result);
48+
}
49+
}
50+
51+
[Test]
52+
public void AllNamedWithAtLeast3Char()
53+
{
54+
using (ISession session = OpenSession())
55+
using (session.BeginTransaction())
56+
{
57+
var result = session.Query<Entity>()
58+
.All(e => e.Name.Length > 2);
59+
60+
Assert.AreEqual(true, result);
61+
}
62+
}
63+
64+
[Test]
65+
public void AllNamedBobWorkaround()
66+
{
67+
using (ISession session = OpenSession())
68+
using (session.BeginTransaction())
69+
{
70+
var result = !session.Query<Entity>()
71+
.Any(e => e.Name != "Bob");
72+
73+
Assert.AreEqual(false, result);
74+
}
75+
}
76+
77+
[Test]
78+
public void AllNamedWithAtLeast3CharWorkaround()
79+
{
80+
using (ISession session = OpenSession())
81+
using (session.BeginTransaction())
82+
{
83+
var result = !session.Query<Entity>()
84+
.Any(e => e.Name.Length < 3);
85+
86+
Assert.AreEqual(true, result);
87+
}
88+
}
89+
}
90+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="NHibernate.Test" namespace="NHibernate.Test.NHSpecificTest.NH3951">
3+
4+
<class name="Entity">
5+
<id name="Id" generator="guid.comb" />
6+
<property name="Name" />
7+
</class>
8+
9+
</hibernate-mapping>

src/NHibernate.Test/NHibernate.Test.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -736,6 +736,8 @@
736736
<Compile Include="NHSpecificTest\EntityWithUserTypeCanHaveLinqGenerators\Fixture.cs" />
737737
<Compile Include="NHSpecificTest\EntityWithUserTypeCanHaveLinqGenerators\FooExample.cs" />
738738
<Compile Include="NHSpecificTest\EntityWithUserTypeCanHaveLinqGenerators\IExample.cs" />
739+
<Compile Include="NHSpecificTest\NH3951\Entity.cs" />
740+
<Compile Include="NHSpecificTest\NH3951\Fixture.cs" />
739741
<Compile Include="NHSpecificTest\NH2204\Model.cs" />
740742
<Compile Include="NHSpecificTest\NH2204\Fixture.cs" />
741743
<Compile Include="NHSpecificTest\NH3912\BatcherLovingEntity.cs" />
@@ -3201,6 +3203,7 @@
32013203
<EmbeddedResource Include="NHSpecificTest\NH1291AnonExample\Mappings.hbm.xml" />
32023204
</ItemGroup>
32033205
<ItemGroup>
3206+
<EmbeddedResource Include="NHSpecificTest\NH3951\Mappings.hbm.xml" />
32043207
<EmbeddedResource Include="NHSpecificTest\NH2204\Mappings.hbm.xml" />
32053208
<EmbeddedResource Include="NHSpecificTest\NH3874\Mappings.hbm.xml" />
32063209
<EmbeddedResource Include="NHSpecificTest\EntityWithUserTypeCanHaveLinqGenerators\Mappings.hbm.xml" />

0 commit comments

Comments
 (0)