public void SetWhere()
		{
			var hbm = new HbmIdbag();
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			mapper.Where("c > 10");
			hbm.Where.Should().Be.EqualTo("c > 10");
		}
		public void SetWhere()
		{
			var hbm = new HbmIdbag();
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			mapper.Where("c > 10");
			Assert.That(hbm.Where, Is.EqualTo("c > 10"));
		}
Exemple #3
0
        public void SetCollectionTypeByGenericType()
        {
            var hbm    = new HbmIdbag();
            var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);

            mapper.Type <FakeUserCollectionType>();
            Assert.That(hbm.CollectionType, Does.Contain("FakeUserCollectionType"));
        }
Exemple #4
0
        public void SetBatchSize()
        {
            var hbm    = new HbmIdbag();
            var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);

            mapper.BatchSize(10);
            hbm.BatchSize.Should().Be.EqualTo(10);
        }
Exemple #5
0
        public void SetWhere()
        {
            var hbm    = new HbmIdbag();
            var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);

            mapper.Where("c > 10");
            hbm.Where.Should().Be.EqualTo("c > 10");
        }
Exemple #6
0
        public void SetBatchSize()
        {
            var hbm    = new HbmIdbag();
            var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);

            mapper.BatchSize(10);
            Assert.That(hbm.BatchSize, Is.EqualTo(10));
        }
Exemple #7
0
        public void SetWhere()
        {
            var hbm    = new HbmIdbag();
            var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);

            mapper.Where("c > 10");
            Assert.That(hbm.Where, Is.EqualTo("c > 10"));
        }
		public void WhenConfigureIdThenCallMapper()
		{
			var hbm = new HbmIdbag();
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			mapper.Id(x => x.Column("catchMe"));

			Assert.That(hbm.collectionid.Columns.Single().name, Is.EqualTo("catchMe"));
		}
Exemple #9
0
        public void SetCollectionTypeByType()
        {
            var hbm    = new HbmIdbag();
            var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);

            mapper.Type(typeof(FakeUserCollectionType));
            Assert.That(hbm.CollectionType, Is.StringContaining("FakeUserCollectionType"));
        }
Exemple #10
0
        public void SetCollectionTypeByType()
        {
            var hbm    = new HbmIdbag();
            var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);

            mapper.Type(typeof(FakeUserCollectionType));
            hbm.CollectionType.Should().Contain("FakeUserCollectionType");
        }
Exemple #11
0
        public void SetCollectionTypeByWrongTypeShouldThrow()
        {
            var hbm    = new HbmIdbag();
            var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);

            Executing.This(() => mapper.Type(null)).Should().Throw <ArgumentNullException>();
            Executing.This(() => mapper.Type(typeof(object))).Should().Throw <ArgumentOutOfRangeException>();
        }
		public void WhenConfigureIdThenCallMapper()
		{
			var hbm = new HbmIdbag();
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			mapper.Id(x => x.Column("catchMe"));

			hbm.collectionid.Columns.Single().name.Should().Be("catchMe");
		}
Exemple #13
0
        public void SetCollectionTypeByWrongTypeShouldThrow()
        {
            var hbm    = new HbmIdbag();
            var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);

            Assert.That(() => mapper.Type(null), Throws.TypeOf <ArgumentNullException>());
            Assert.That(() => mapper.Type(typeof(object)), Throws.TypeOf <ArgumentOutOfRangeException>());
        }
Exemple #14
0
        public void WhenConfigureIdThenCallMapper()
        {
            var hbm    = new HbmIdbag();
            var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);

            mapper.Id(x => x.Column("catchMe"));

            hbm.collectionid.Columns.Single().name.Should().Be("catchMe");
        }
		public void SetMutable()
		{
			var hbm = new HbmIdbag();
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			mapper.Mutable(true);
			hbm.Mutable.Should().Be.True();
			mapper.Mutable(false);
			hbm.Mutable.Should().Be.False();
		}
		public void SetMutable()
		{
			var hbm = new HbmIdbag();
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			mapper.Mutable(true);
			Assert.That(hbm.Mutable, Is.True);
			mapper.Mutable(false);
			Assert.That(hbm.Mutable, Is.False);
		}
Exemple #17
0
        public void WhenConfigureIdThenCallMapper()
        {
            var hbm    = new HbmIdbag();
            var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);

            mapper.Id(x => x.Column("catchMe"));

            Assert.That(hbm.collectionid.Columns.Single().name, Is.EqualTo("catchMe"));
        }
Exemple #18
0
        public void CallKeyMapper()
        {
            var  hbm      = new HbmIdbag();
            var  mapper   = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
            bool kmCalled = false;

            mapper.Key(km => kmCalled = true);
            hbm.Key.Should().Not.Be.Null();
            kmCalled.Should().Be.True();
        }
Exemple #19
0
        public void SetMutable()
        {
            var hbm    = new HbmIdbag();
            var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);

            mapper.Mutable(true);
            Assert.That(hbm.Mutable, Is.True);
            mapper.Mutable(false);
            Assert.That(hbm.Mutable, Is.False);
        }
Exemple #20
0
        public void SetMutable()
        {
            var hbm    = new HbmIdbag();
            var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);

            mapper.Mutable(true);
            hbm.Mutable.Should().Be.True();
            mapper.Mutable(false);
            hbm.Mutable.Should().Be.False();
        }
Exemple #21
0
        public void CallKeyMapper()
        {
            var  hbm      = new HbmIdbag();
            var  mapper   = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
            bool kmCalled = false;

            mapper.Key(km => kmCalled = true);
            Assert.That(hbm.Key, Is.Not.Null);
            Assert.That(kmCalled, Is.True);
        }
Exemple #22
0
        public void CanChangeAccessor()
        {
            var hbm = new HbmIdbag {
                name = "Children"
            };
            var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);

            mapper.Access(Accessor.Field);

            hbm.Access.Should().Not.Be.Null();
        }
Exemple #23
0
        public void CanSetCache()
        {
            var hbm = new HbmIdbag {
                name = "Children"
            };
            var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);

            mapper.Cache(x => x.Region("pizza"));

            hbm.cache.Should().Not.Be.Null();
        }
Exemple #24
0
        public void CanSetAFilterThroughAction()
        {
            var hbm = new HbmIdbag {
                name = "Children"
            };
            var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);

            mapper.Filter("filter1", f => f.Condition("condition1"));
            hbm.filter.Length.Should().Be(1);
            hbm.filter[0].Satisfy(f => f.name == "filter1" && f.condition == "condition1");
        }
Exemple #25
0
        public void CanChangeAccessor()
        {
            var hbm = new HbmIdbag {
                name = "Children"
            };
            var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);

            mapper.Access(Accessor.Field);

            Assert.That(hbm.Access, Is.Not.Null);
        }
Exemple #26
0
        public void CanSetCache()
        {
            var hbm = new HbmIdbag {
                name = "Children"
            };
            var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);

            mapper.Cache(x => x.Region("pizza"));

            Assert.That(hbm.cache, Is.Not.Null);
        }
Exemple #27
0
        public void WhenActionIsNullThenAddFilterName()
        {
            var hbm = new HbmIdbag {
                name = "Children"
            };
            var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);

            mapper.Filter("filter1", null);
            hbm.filter.Length.Should().Be(1);
            hbm.filter[0].Satisfy(f => f.name == "filter1" && f.condition == null);
        }
		public void WhenConfigureIdMoreThanOnceThenUseSameMapper()
		{
			var hbm = new HbmIdbag();
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			ICollectionIdMapper firstInstance = null;
			ICollectionIdMapper secondInstance = null;
			mapper.Id(x => firstInstance = x);
			mapper.Id(x => secondInstance = x);

			firstInstance.Should().Be.SameInstanceAs(secondInstance);
		}
Exemple #29
0
        public void SetLazy()
        {
            var hbm    = new HbmIdbag();
            var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);

            mapper.Lazy(CollectionLazy.Extra);
            Assert.That(hbm.Lazy, Is.EqualTo(HbmCollectionLazy.Extra));
            mapper.Lazy(CollectionLazy.NoLazy);
            Assert.That(hbm.Lazy, Is.EqualTo(HbmCollectionLazy.False));
            mapper.Lazy(CollectionLazy.Lazy);
            Assert.That(hbm.Lazy, Is.EqualTo(HbmCollectionLazy.True));
        }
Exemple #30
0
        public void SetLazy()
        {
            var hbm    = new HbmIdbag();
            var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);

            mapper.Lazy(CollectionLazy.Extra);
            hbm.Lazy.Should().Be.EqualTo(HbmCollectionLazy.Extra);
            mapper.Lazy(CollectionLazy.NoLazy);
            hbm.Lazy.Should().Be.EqualTo(HbmCollectionLazy.False);
            mapper.Lazy(CollectionLazy.Lazy);
            hbm.Lazy.Should().Be.EqualTo(HbmCollectionLazy.True);
        }
Exemple #31
0
        public void CanSetAFilterThroughAction()
        {
            var hbm = new HbmIdbag {
                name = "Children"
            };
            var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);

            mapper.Filter("filter1", f => f.Condition("condition1"));
            Assert.That(hbm.filter.Length, Is.EqualTo(1));
            Assert.That(hbm.filter[0].condition, Is.EqualTo("condition1"));
            Assert.That(hbm.filter[0].name, Is.EqualTo("filter1"));
        }
Exemple #32
0
        public void WhenConfigureIdMoreThanOnceThenUseSameMapper()
        {
            var hbm    = new HbmIdbag();
            var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
            ICollectionIdMapper firstInstance  = null;
            ICollectionIdMapper secondInstance = null;

            mapper.Id(x => firstInstance  = x);
            mapper.Id(x => secondInstance = x);

            Assert.That(firstInstance, Is.SameAs(secondInstance));
        }
Exemple #33
0
        public void CanSetMoreFiltersThroughAction()
        {
            var hbm = new HbmIdbag {
                name = "Children"
            };
            var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);

            mapper.Filter("filter1", f => f.Condition("condition1"));
            mapper.Filter("filter2", f => f.Condition("condition2"));
            Assert.That(hbm.filter.Length, Is.EqualTo(2));
            Assert.True(hbm.filter.Any(f => f.name == "filter1" && f.condition == "condition1"));
            Assert.True(hbm.filter.Any(f => f.name == "filter2" && f.condition == "condition2"));
        }
Exemple #34
0
        public void WhenSameNameThenOverrideCondition()
        {
            var hbm = new HbmIdbag {
                name = "Children"
            };
            var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);

            mapper.Filter("filter1", f => f.Condition("condition1"));
            mapper.Filter("filter2", f => f.Condition("condition2"));
            mapper.Filter("filter1", f => f.Condition("anothercondition1"));
            hbm.filter.Length.Should().Be(2);
            hbm.filter.Satisfy(filters => filters.Any(f => f.name == "filter1" && f.condition == "anothercondition1"));
            hbm.filter.Satisfy(filters => filters.Any(f => f.name == "filter2" && f.condition == "condition2"));
        }
Exemple #35
0
        public void WhenActionIsNullThenAddFilterName()
        {
            var hbm = new HbmIdbag {
                name = "Children"
            };
            var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);

            mapper.Filter("filter1", null);
            Assert.That(hbm.filter.Length, Is.EqualTo(1));
            var filter = hbm.filter[0];

            Assert.That(filter.condition, Is.EqualTo(null));
            Assert.That(filter.name, Is.EqualTo("filter1"));
        }
Exemple #36
0
        public void WhenSameNameThenOverrideCondition()
        {
            var hbm = new HbmIdbag {
                name = "Children"
            };
            var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);

            mapper.Filter("filter1", f => f.Condition("condition1"));
            mapper.Filter("filter2", f => f.Condition("condition2"));
            mapper.Filter("filter1", f => f.Condition("anothercondition1"));
            Assert.That(hbm.filter.Length, Is.EqualTo(2));
            Assert.That(hbm.filter.Any(f => f.name == "filter1" && f.condition == "anothercondition1"), Is.True);
            Assert.That(hbm.filter.Any(f => f.name == "filter2" && f.condition == "condition2"), Is.True);
        }
Exemple #37
0
        public void SetFetchMode()
        {
            var hbm    = new HbmIdbag();
            var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);

            mapper.Fetch(CollectionFetchMode.Subselect);
            Assert.That(hbm.fetch, Is.EqualTo(HbmCollectionFetchMode.Subselect));
            Assert.That(hbm.fetchSpecified, Is.True);
            mapper.Fetch(CollectionFetchMode.Join);
            Assert.That(hbm.fetch, Is.EqualTo(HbmCollectionFetchMode.Join));
            Assert.That(hbm.fetchSpecified, Is.True);
            mapper.Fetch(CollectionFetchMode.Select);
            Assert.That(hbm.fetch, Is.EqualTo(HbmCollectionFetchMode.Select));
            Assert.That(hbm.fetchSpecified, Is.False);
        }
		public void CanChangeAccessor()
		{
			var hbm = new HbmIdbag { name = "Children" };
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			mapper.Access(Accessor.Field);

			hbm.Access.Should().Not.Be.Null();
		}
		public void SetCollectionTypeByType()
		{
			var hbm = new HbmIdbag();
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			mapper.Type(typeof(FakeUserCollectionType));
			hbm.CollectionType.Should().Contain("FakeUserCollectionType");
		}
		public void SetBatchSize()
		{
			var hbm = new HbmIdbag();
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			mapper.BatchSize(10);
			Assert.That(hbm.BatchSize, Is.EqualTo(10));
		}
		public void SetBatchSize()
		{
			var hbm = new HbmIdbag();
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			mapper.BatchSize(10);
			hbm.BatchSize.Should().Be.EqualTo(10);
		}
		public void SetCollectionTypeByType()
		{
			var hbm = new HbmIdbag();
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			mapper.Type(typeof(FakeUserCollectionType));
			Assert.That(hbm.CollectionType, Is.StringContaining("FakeUserCollectionType"));
		}
		public void CanSetCache()
		{
			var hbm = new HbmIdbag { name = "Children" };
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			mapper.Cache(x => x.Region("pizza"));

			Assert.That(hbm.cache, Is.Not.Null);
		}
		public void WhenActionIsNullThenAddFilterName()
		{
			var hbm = new HbmIdbag { name = "Children" };
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			mapper.Filter("filter1", null);
			hbm.filter.Length.Should().Be(1);
			hbm.filter[0].Satisfy(f => f.name == "filter1" && f.condition == null);
		}
		public void CanSetMoreFiltersThroughAction()
		{
			var hbm = new HbmIdbag { name = "Children" };
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			mapper.Filter("filter1", f => f.Condition("condition1"));
			mapper.Filter("filter2", f => f.Condition("condition2"));
			hbm.filter.Length.Should().Be(2);
			hbm.filter.Satisfy(filters => filters.Any(f => f.name == "filter1" && f.condition == "condition1"));
			hbm.filter.Satisfy(filters => filters.Any(f => f.name == "filter2" && f.condition == "condition2"));
		}
		public void CanSetCache()
		{
			var hbm = new HbmIdbag { name = "Children" };
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			mapper.Cache(x => x.Region("pizza"));

			hbm.cache.Should().Not.Be.Null();
		}
		public void SetFetchMode()
		{
			var hbm = new HbmIdbag();
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			mapper.Fetch(CollectionFetchMode.Subselect);
			Assert.That(hbm.fetch, Is.EqualTo(HbmCollectionFetchMode.Subselect));
			Assert.That(hbm.fetchSpecified, Is.True);
			mapper.Fetch(CollectionFetchMode.Join);
			Assert.That(hbm.fetch, Is.EqualTo(HbmCollectionFetchMode.Join));
			Assert.That(hbm.fetchSpecified, Is.True);
			mapper.Fetch(CollectionFetchMode.Select);
			Assert.That(hbm.fetch, Is.EqualTo(HbmCollectionFetchMode.Select));
			Assert.That(hbm.fetchSpecified, Is.False);
		}
		public void WhenActionIsNullThenAddFilterName()
		{
			var hbm = new HbmIdbag { name = "Children" };
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			mapper.Filter("filter1", null);
			Assert.That(hbm.filter.Length, Is.EqualTo(1));
			var filter = hbm.filter[0];
			Assert.That(filter.condition, Is.EqualTo(null));
			Assert.That(filter.name, Is.EqualTo("filter1"));
		}
		public void WhenSetTwoCachePropertiesInTwoActionsThenSetTheTwoValuesWithoutLostTheFirst()
		{
			var hbm = new HbmIdbag { name = "Children" };
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			mapper.Cache(ch => ch.Region("pizza"));
			mapper.Cache(ch => ch.Usage(CacheUsage.NonstrictReadWrite));

			var hbmCache = hbm.cache;
			hbmCache.Should().Not.Be.Null();
			hbmCache.region.Should().Be("pizza");
			hbmCache.usage.Should().Be(HbmCacheUsage.NonstrictReadWrite);
		}
		public void WhenSameNameThenOverrideCondition()
		{
			var hbm = new HbmIdbag { name = "Children" };
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			mapper.Filter("filter1", f => f.Condition("condition1"));
			mapper.Filter("filter2", f => f.Condition("condition2"));
			mapper.Filter("filter1", f => f.Condition("anothercondition1"));
			Assert.That(hbm.filter.Length, Is.EqualTo(2));
			Assert.That(hbm.filter.Any(f => f.name == "filter1" && f.condition == "anothercondition1"), Is.True);
			Assert.That(hbm.filter.Any(f => f.name == "filter2" && f.condition == "condition2"), Is.True);
		}
		public void WhenSameNameThenOverrideCondition()
		{
			var hbm = new HbmIdbag { name = "Children" };
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			mapper.Filter("filter1", f => f.Condition("condition1"));
			mapper.Filter("filter2", f => f.Condition("condition2"));
			mapper.Filter("filter1", f => f.Condition("anothercondition1"));
			hbm.filter.Length.Should().Be(2);
			hbm.filter.Satisfy(filters => filters.Any(f => f.name == "filter1" && f.condition == "anothercondition1"));
			hbm.filter.Satisfy(filters => filters.Any(f => f.name == "filter2" && f.condition == "condition2"));
		}
		public void CanSetMoreFiltersThroughAction()
		{
			var hbm = new HbmIdbag { name = "Children" };
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			mapper.Filter("filter1", f => f.Condition("condition1"));
			mapper.Filter("filter2", f => f.Condition("condition2"));
			Assert.That(hbm.filter.Length, Is.EqualTo(2));
			Assert.True(hbm.filter.Any(f => f.name == "filter1" && f.condition == "condition1"));
			Assert.True(hbm.filter.Any(f => f.name == "filter2" && f.condition == "condition2"));
		}
		public void SetFetchMode()
		{
			var hbm = new HbmIdbag();
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			mapper.Fetch(CollectionFetchMode.Subselect);
			hbm.fetch.Should().Be(HbmCollectionFetchMode.Subselect);
			hbm.fetchSpecified.Should().Be.True();
			mapper.Fetch(CollectionFetchMode.Join);
			hbm.fetch.Should().Be(HbmCollectionFetchMode.Join);
			hbm.fetchSpecified.Should().Be.True();
			mapper.Fetch(CollectionFetchMode.Select);
			hbm.fetch.Should().Be(HbmCollectionFetchMode.Select);
			hbm.fetchSpecified.Should().Be.False();
		}
		public void CanSetAFilterThroughAction()
		{
			var hbm = new HbmIdbag { name = "Children" };
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			mapper.Filter("filter1", f => f.Condition("condition1"));
			Assert.That(hbm.filter.Length, Is.EqualTo(1));
			Assert.That(hbm.filter[0].condition, Is.EqualTo("condition1"));
			Assert.That(hbm.filter[0].name, Is.EqualTo("filter1"));
		}
		public void CanChangeAccessor()
		{
			var hbm = new HbmIdbag { name = "Children" };
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			mapper.Access(Accessor.Field);

			Assert.That(hbm.Access, Is.Not.Null);
		}
		public void WhenSetTwoCachePropertiesInTwoActionsThenSetTheTwoValuesWithoutLostTheFirst()
		{
			var hbm = new HbmIdbag { name = "Children" };
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			mapper.Cache(ch => ch.Region("pizza"));
			mapper.Cache(ch => ch.Usage(CacheUsage.NonstrictReadWrite));

			var hbmCache = hbm.cache;
			Assert.That(hbmCache, Is.Not.Null);
			Assert.That(hbmCache.region, Is.EqualTo("pizza"));
			Assert.That(hbmCache.usage, Is.EqualTo(HbmCacheUsage.NonstrictReadWrite));
		}
		public void CallKeyMapper()
		{
			var hbm = new HbmIdbag();
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			bool kmCalled = false;
			mapper.Key(km => kmCalled = true);
			hbm.Key.Should().Not.Be.Null();
			kmCalled.Should().Be.True();
		}
		public void SetCollectionTypeByWrongTypeShouldThrow()
		{
			var hbm = new HbmIdbag();
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			Executing.This(() => mapper.Type(null)).Should().Throw<ArgumentNullException>();
			Executing.This(() => mapper.Type(typeof(object))).Should().Throw<ArgumentOutOfRangeException>();
		}
		public void SetLazy()
		{
			var hbm = new HbmIdbag();
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			mapper.Lazy(CollectionLazy.Extra);
			hbm.Lazy.Should().Be.EqualTo(HbmCollectionLazy.Extra);
			mapper.Lazy(CollectionLazy.NoLazy);
			hbm.Lazy.Should().Be.EqualTo(HbmCollectionLazy.False);
			mapper.Lazy(CollectionLazy.Lazy);
			hbm.Lazy.Should().Be.EqualTo(HbmCollectionLazy.True);
		}
		public void SetLazy()
		{
			var hbm = new HbmIdbag();
			var mapper = new IdBagMapper(typeof(Animal), typeof(Animal), hbm);
			mapper.Lazy(CollectionLazy.Extra);
			Assert.That(hbm.Lazy, Is.EqualTo(HbmCollectionLazy.Extra));
			mapper.Lazy(CollectionLazy.NoLazy);
			Assert.That(hbm.Lazy, Is.EqualTo(HbmCollectionLazy.False));
			mapper.Lazy(CollectionLazy.Lazy);
			Assert.That(hbm.Lazy, Is.EqualTo(HbmCollectionLazy.True));
		}