Skip to content

Commit 4b759cd

Browse files
committed
BagOfNestedComponentsWithParentTest - check that parent element is mapped as expected.
1 parent ec7da1c commit 4b759cd

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

src/NHibernate.Test/MappingByCode/ExpliticMappingTests/BagOfNestedComponentsWithParentTest.cs

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public void WhenMapClasByClassThenAutodiscoverParent()
4949
cm.Bag(x => x.Addresses, cp => { }, cr => { });
5050
});
5151
HbmMapping mapping = mapper.CompileMappingFor(new[] { typeof(Person) });
52-
VerifyMapping(mapping, "Street", "Number", "Owner");
52+
VerifyMapping(mapping, false, "Street", "Number", "Owner");
5353
}
5454

5555
[Test]
@@ -72,7 +72,7 @@ public void WhenMapClassWithWrongElementsThenAutodiscoverParent()
7272
}));
7373
});
7474
HbmMapping mapping = mapper.CompileMappingFor(new[] { typeof(Person) });
75-
VerifyMapping(mapping, "Street", "Number", "Owner");
75+
VerifyMapping(mapping, false, "Street", "Number", "Owner");
7676
}
7777

7878
[Test]
@@ -94,10 +94,10 @@ public void WhenMapClassElementsThenMapParent()
9494
}));
9595
});
9696
HbmMapping mapping = mapper.CompileMappingFor(new[] { typeof(Person) });
97-
VerifyMapping(mapping, "Street", "Number");
97+
VerifyMapping(mapping, true, "Street", "Number");
9898
}
9999

100-
private void VerifyMapping(HbmMapping mapping, params string[] properties)
100+
private void VerifyMapping(HbmMapping mapping, bool hasParent, params string[] properties)
101101
{
102102
HbmClass rc = mapping.RootClasses.First(r => r.Name.Contains("Person"));
103103
var relation = rc.Properties.First(p => p.Name == "Addresses");
@@ -110,8 +110,15 @@ private void VerifyMapping(HbmMapping mapping, params string[] properties)
110110
// definition of the property representing the bidiretional-relation we can't know is the mapping element (many-to-one or parent)
111111
elementRelation.Properties.Should().Have.Count.EqualTo(properties.Length);
112112
elementRelation.Properties.Select(p => p.Name).Should().Have.SameValuesAs(properties);
113-
//elementRelation.Parent.Should().Not.Be.Null();
114-
//elementRelation.Parent.name.Should().Be.EqualTo("Owner");
113+
if (hasParent)
114+
{
115+
elementRelation.Parent.Should().Not.Be.Null();
116+
elementRelation.Parent.name.Should().Be.EqualTo("Owner");
117+
}
118+
else
119+
{
120+
elementRelation.Parent.Should().Be.Null();
121+
}
115122

116123
// Nested
117124
var propertyNestedRelation = elementRelation.Properties.FirstOrDefault(p => p.Name == "Number");

0 commit comments

Comments
 (0)