Skip to content

Commit e3ed40b

Browse files
NH-3931 - test cases ported from HHH-9864 and HHH-11216
1 parent fb7dd79 commit e3ed40b

File tree

4 files changed

+753
-0
lines changed

4 files changed

+753
-0
lines changed
Lines changed: 161 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,161 @@
1+
using System;
2+
using System.Collections.Generic;
3+
4+
namespace NHibernate.Test.NHSpecificTest.NH3931
5+
{
6+
public class AddressM2M
7+
{
8+
public virtual Guid Id { get; set; }
9+
10+
public virtual ISet<PersonM2M> Persons { get; set; } = new HashSet<PersonM2M>();
11+
12+
public virtual void AddPerson(PersonM2M person)
13+
{
14+
Persons.Add(person);
15+
person.Addresses.Add(this);
16+
}
17+
}
18+
19+
public class PersonM2M
20+
{
21+
public virtual Guid Id { get; set; }
22+
23+
public virtual ISet<AddressM2M> Addresses { get; set; } = new HashSet<AddressM2M>();
24+
}
25+
26+
public class AddressM2O
27+
{
28+
public virtual Guid Id { get; set; }
29+
30+
public virtual ISet<PersonM2O> Persons { get; set; } = new HashSet<PersonM2O>();
31+
32+
public virtual void AddPerson(PersonM2O person)
33+
{
34+
Persons.Add(person);
35+
person.Address = this;
36+
}
37+
}
38+
39+
public class PersonM2O
40+
{
41+
public virtual Guid Id { get; set; }
42+
43+
public virtual AddressM2O Address { get; set; }
44+
}
45+
46+
public class AddressJI
47+
{
48+
public virtual Guid Id { get; set; }
49+
}
50+
51+
public class PersonJI
52+
{
53+
public virtual Guid Id { get; set; }
54+
55+
public virtual ISet<AddressJI> Addresses { get; set; } = new HashSet<AddressJI>();
56+
57+
public virtual void AddAddress(AddressJI address)
58+
{
59+
Addresses.Add(address);
60+
}
61+
}
62+
63+
public class SpecialPersonJI : PersonJI
64+
{
65+
public virtual string Special { get; set; }
66+
}
67+
68+
public class AddressJim
69+
{
70+
public virtual Guid Id { get; set; }
71+
}
72+
73+
public class OfficeJim
74+
{
75+
public virtual Guid Id { get; set; }
76+
}
77+
78+
public class PersonJim
79+
{
80+
public virtual Guid Id { get; set; }
81+
}
82+
83+
public class SpecialPersonJim : PersonJim
84+
{
85+
public virtual string Special { get; set; }
86+
87+
public virtual ISet<AddressJim> Addresses { get; set; } = new HashSet<AddressJim>();
88+
89+
public virtual void AddAddress(AddressJim address)
90+
{
91+
Addresses.Add(address);
92+
}
93+
}
94+
95+
public class AnotherPersonJim : PersonJim
96+
{
97+
public virtual bool Working { get; set; }
98+
public virtual OfficeJim Office { get; set; }
99+
}
100+
101+
public class PresidentJim : SpecialPersonJim
102+
{
103+
public virtual decimal Salary { get; set; }
104+
}
105+
106+
public class AddressSti
107+
{
108+
public virtual Guid Id { get; set; }
109+
}
110+
111+
public class PersonSti
112+
{
113+
public virtual Guid Id { get; set; }
114+
115+
public virtual ISet<AddressSti> Addresses { get; set; } = new HashSet<AddressSti>();
116+
117+
public virtual void AddAddress(AddressSti address)
118+
{
119+
Addresses.Add(address);
120+
}
121+
}
122+
123+
public class SpecialPersonSti : PersonSti
124+
{
125+
public virtual string Special { get; set; }
126+
}
127+
128+
public class AddressTpc
129+
{
130+
public virtual Guid Id { get; set; }
131+
}
132+
133+
public class PersonTpc
134+
{
135+
public virtual Guid Id { get; set; }
136+
137+
public virtual ISet<AddressTpc> Addresses { get; set; } = new HashSet<AddressTpc>();
138+
139+
public virtual void AddAddress(AddressTpc address)
140+
{
141+
Addresses.Add(address);
142+
}
143+
}
144+
145+
public class SpecialPersonTpc : PersonTpc
146+
{
147+
public virtual string Special { get; set; }
148+
}
149+
150+
public class Task
151+
{
152+
public virtual Guid Id { get; set; }
153+
public virtual ISet<Category> Categories { get; set; } = new HashSet<Category>();
154+
}
155+
156+
public enum Category
157+
{
158+
A,
159+
B
160+
}
161+
}

0 commit comments

Comments
 (0)