Skip to content

Commit ee1921a

Browse files
committed
Modernize tests & fix namespace
1 parent 22fe96c commit ee1921a

File tree

10 files changed

+147
-155
lines changed

10 files changed

+147
-155
lines changed

src/NHibernate.Test/Async/NHSpecificTest/ManyToManyWithFilter/Fixture.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
using System;
1212
using NUnit.Framework;
1313
using System.Linq;
14+
using NHibernate.Test.NHSpecificTest.GH3652;
1415

1516
namespace NHibernate.Test.NHSpecificTest.ManyToManyWithFilter
1617
{
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
using System;
2+
3+
namespace NHibernate.Test.NHSpecificTest.GH3652;
4+
5+
public class BaseClass
6+
{
7+
public virtual Guid Id { get; set; }
8+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
using System;
2+
using System.Collections.Generic;
3+
4+
namespace NHibernate.Test.NHSpecificTest.GH3652;
5+
6+
public class Department : BaseClass
7+
{
8+
public virtual ISet<Employee> Employees { get; set; } = new HashSet<Employee>();
9+
10+
public virtual DateTime? DeletedAt { get; set; }
11+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
using System.Collections.Generic;
2+
3+
namespace NHibernate.Test.NHSpecificTest.GH3652;
4+
5+
public class Employee : BaseClass
6+
{
7+
public virtual ISet<Department> Departments { get; set; } = new HashSet<Department>();
8+
}
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
using System;
2+
using System.Linq;
3+
using NUnit.Framework;
4+
5+
namespace NHibernate.Test.NHSpecificTest.GH3652;
6+
7+
[TestFixture]
8+
public class Fixture : BugTestCase
9+
{
10+
private Department _department1;
11+
private Department _department2;
12+
private Employee _employee1;
13+
private Employee _employee2;
14+
15+
protected override void OnSetUp()
16+
{
17+
using var session = OpenSession();
18+
using var tx = session.BeginTransaction();
19+
_department1 = new Department();
20+
_department2 = new Department();
21+
22+
_employee1 = new Employee();
23+
_employee2 = new Employee();
24+
25+
_employee1.Departments.Add(_department1);
26+
_employee2.Departments.Add(_department1);
27+
_employee2.Departments.Add(_department2);
28+
29+
session.Save(_department1);
30+
session.Save(_department2);
31+
session.Save(_employee1);
32+
session.Save(_employee2);
33+
34+
tx.Commit();
35+
}
36+
37+
protected override void OnTearDown()
38+
{
39+
using var session = OpenSession();
40+
using var tx = session.BeginTransaction();
41+
session.Delete(_employee1);
42+
session.Delete(_employee2);
43+
session.Delete(_department1);
44+
session.Delete(_department2);
45+
46+
tx.Commit();
47+
}
48+
49+
[Theory]
50+
public void Querying_Employees_Departments_ManyToMany_With_Filter(bool enableFilter)
51+
{
52+
using (var session = OpenSession())
53+
using (var tx = session.BeginTransaction())
54+
{
55+
_department1.DeletedAt = DateTime.UtcNow;
56+
_department2.DeletedAt = DateTime.UtcNow;
57+
58+
session.Update(_department1);
59+
session.Update(_department2);
60+
61+
tx.Commit();
62+
}
63+
64+
using (var session = OpenSession())
65+
using (var tx = session.BeginTransaction())
66+
{
67+
if (enableFilter)
68+
session.EnableFilter("NotDeletedFilter");
69+
70+
var departments = session.Query<Department>();
71+
var employee2 = session.Get<Employee>(_employee2.Id);
72+
73+
if (enableFilter)
74+
{
75+
Assert.That(departments, Is.Empty);
76+
Assert.That(employee2.Departments, Is.Empty);
77+
}
78+
else
79+
{
80+
Assert.That(departments.Count, Is.EqualTo(2));
81+
Assert.That(employee2.Departments, Has.Count.EqualTo(2));
82+
}
83+
84+
85+
tx.Commit();
86+
}
87+
}
88+
}
Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,31 @@
1-
<?xml version="1.0" encoding="utf-8"?>
2-
3-
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
4-
namespace="NHibernate.Test.NHSpecificTest.ManyToManyWithFilter"
5-
assembly="NHibernate.Test">
6-
7-
<class name="BaseClass">
8-
<id name="Id">
9-
<generator class="guid.comb" />
10-
</id>
11-
<discriminator column="discriminator" type="String" />
12-
13-
<subclass name="Employee" discriminator-value="Emp">
14-
<set name="Departments" table="EmployeeDepartment" cascade="all-delete-orphan" inverse="false">
15-
<key column="EmployeeId"/>
16-
<many-to-many class="Department" column="DepartmentId"/>
17-
</set>
18-
</subclass>
19-
20-
<subclass name="Department" discriminator-value="Dep">
21-
<property name="DeletedAt" column="DeletedAt" type="DateTime"/>
22-
<set name="Employees" table="EmployeeDepartment" cascade="none" inverse="true">
23-
<key column="DepartmentId"/>
24-
<many-to-many class="Employee" column="EmployeeId"/>
25-
</set>
26-
<filter name="NotDeletedFilter" condition="DeletedAt IS NULL"/>
27-
</subclass>
28-
</class>
29-
<filter-def name="NotDeletedFilter"/>
30-
31-
</hibernate-mapping>
1+
<?xml version="1.0" encoding="utf-8"?>
2+
3+
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
4+
namespace="NHibernate.Test.NHSpecificTest.GH3652"
5+
assembly="NHibernate.Test">
6+
7+
<class name="BaseClass">
8+
<id name="Id">
9+
<generator class="guid.comb" />
10+
</id>
11+
<discriminator column="discriminator" type="String" />
12+
13+
<subclass name="Employee" discriminator-value="Emp">
14+
<set name="Departments" table="EmployeeDepartment" cascade="all-delete-orphan" inverse="false">
15+
<key column="EmployeeId"/>
16+
<many-to-many class="Department" column="DepartmentId"/>
17+
</set>
18+
</subclass>
19+
20+
<subclass name="Department" discriminator-value="Dep">
21+
<property name="DeletedAt" column="DeletedAt" type="DateTime"/>
22+
<set name="Employees" table="EmployeeDepartment" cascade="none" inverse="true">
23+
<key column="DepartmentId"/>
24+
<many-to-many class="Employee" column="EmployeeId"/>
25+
</set>
26+
<filter name="NotDeletedFilter" condition="DeletedAt IS NULL"/>
27+
</subclass>
28+
</class>
29+
<filter-def name="NotDeletedFilter"/>
30+
31+
</hibernate-mapping>

src/NHibernate.Test/NHSpecificTest/ManyToManyWithFilter/BaseClass.cs

Lines changed: 0 additions & 10 deletions
This file was deleted.

src/NHibernate.Test/NHSpecificTest/ManyToManyWithFilter/Department.cs

Lines changed: 0 additions & 12 deletions
This file was deleted.

src/NHibernate.Test/NHSpecificTest/ManyToManyWithFilter/Employee.cs

Lines changed: 0 additions & 9 deletions
This file was deleted.

src/NHibernate.Test/NHSpecificTest/ManyToManyWithFilter/Fixture.cs

Lines changed: 0 additions & 93 deletions
This file was deleted.

0 commit comments

Comments
 (0)