コード例 #1
0
 public void Map_NullChild()
 {
     using (new MapScenario(Sfi))
     {
         using (ISession s = OpenSession())
         {
             using (ITransaction t = s.BeginTransaction())
             {
                 var entity = s.CreateQuery("from Base").UniqueResult <Base>();
                 // null collection members don't seem to work, at least for lazy="extra" collections
                 entity.NamedChildren.Count.Should().Not.Be.EqualTo(0);
                 //entity.NamedChildren.Count.Should().Be.EqualTo(2);
                 NHibernateUtil.IsInitialized(entity.NamedChildren).Should().Be.False();
                 // null valued child shouldn't cause errors
                 var   sigil = new Child();
                 Child child = sigil;
                 Assert.DoesNotThrow(() => { child = entity.NamedChildren["NullChild"]; });
                 child.Should().Not.Be.EqualTo(sigil);
                 child.Should().Be.Null();
             }
         }
     }
 }
コード例 #2
0
 public void List_NullChild()
 {
     using (new ListScenario(Sfi))
     {
         using (ISession s = OpenSession())
         {
             using (ITransaction t = s.BeginTransaction())
             {
                 // the list should only contain an item at index 0
                 // accessing an invalid index should throw an exception
                 var entity = s.CreateQuery("from Base").UniqueResult <Base>();
                 // null collection members don't seem to work, at least for lazy="extra" collections
                 entity.Children.Count.Should().Not.Be.EqualTo(0);
                 //entity.Children.Count.Should().Be.EqualTo(2);
                 NHibernateUtil.IsInitialized(entity.Children).Should().Be.False();
                 var   sigil = new Child();
                 Child child = sigil;
                 Executing.This(() => { child = entity.Children[0]; }).Should().NotThrow();
                 child.Should().Not.Be.EqualTo(sigil);
                 child.Should().Be.Null();
             }
         }
     }
 }