public void AssignCascadeStyle()
        {
            var hbmMapping = new HbmMapping();
            var hbm        = new HbmManyToOne();
            var mapper     = new ManyToOneMapper(null, hbm, hbmMapping);

            mapper.Cascade(Mapping.ByCode.Cascade.Persist | Mapping.ByCode.Cascade.Remove);
            hbm.cascade.Split(',').Select(w => w.Trim()).Should().Contain("persist").And.Contain("delete");
        }
        public void WhenForceClassRelationToIncompatibleTypeThenThrows()
        {
            var hbmMapping = new HbmMapping();
            var member     = typeof(MyClass).GetProperty("TheOtherRelation");
            var mapping    = new HbmManyToOne();
            var mapper     = new ManyToOneMapper(member, mapping, hbmMapping);

            Executing.This(() => mapper.Class(typeof(Whatever))).Should().Throw <ArgumentOutOfRangeException>();
        }
        public void AutoCleanUnsupportedCascadeStyle()
        {
            var hbmMapping = new HbmMapping();
            var hbm        = new HbmManyToOne();
            var mapper     = new ManyToOneMapper(null, hbm, hbmMapping);

            mapper.Cascade(Mapping.ByCode.Cascade.Persist | Mapping.ByCode.Cascade.DeleteOrphans | Mapping.ByCode.Cascade.Remove);
            hbm.cascade.Split(',').Select(w => w.Trim()).All(w => w.Satisfy(cascade => !cascade.Contains("orphan")));
        }
Exemple #4
0
        public void AssignEntityName()
        {
            var hbmMapping          = new HbmMapping();
            var hbm                 = new HbmManyToOne();
            IManyToOneMapper mapper = new ManyToOneMapper(null, hbm, hbmMapping);

            mapper.EntityName("MyEntity");
            Assert.That(hbm.EntityName, Is.EqualTo("MyEntity"));
        }
        public void CanSetUpdate()
        {
            var hbmMapping = new HbmMapping();
            var member     = typeof(MyClass).GetProperty("Relation");
            var hbm        = new HbmManyToOne();
            var mapper     = new ManyToOneMapper(member, hbm, hbmMapping);

            mapper.Update(false);
            Assert.That(hbm.update, Is.False);
        }
        public void CanSetInsert()
        {
            var hbmMapping = new HbmMapping();
            var member     = typeof(MyClass).GetProperty("Relation");
            var hbm        = new HbmManyToOne();
            var mapper     = new ManyToOneMapper(member, hbm, hbmMapping);

            mapper.Insert(false);
            hbm.insert.Should().Be.False();
        }
        public void CanSetAccessor()
        {
            var hbmMapping = new HbmMapping();
            var member     = typeof(MyClass).GetProperty("Relation");
            var hbm        = new HbmManyToOne();
            var mapper     = new ManyToOneMapper(member, hbm, hbmMapping);

            mapper.Access(Accessor.ReadOnly);
            hbm.Access.Should().Be("readonly");
        }
        public void AfterSetMultiColumnsCantSetSimpleColumn()
        {
            var hbmMapping = new HbmMapping();
            var member     = typeof(MyClass).GetProperty("Relation");
            var mapping    = new HbmManyToOne();
            var mapper     = new ManyToOneMapper(member, mapping, hbmMapping);

            mapper.Columns(cm => cm.Length(50), cm => cm.SqlType("VARCHAR(10)"));
            Executing.This(() => mapper.Column(cm => cm.Length(50))).Should().Throw <MappingException>();
        }
        public void CanSetAccessor()
        {
            var hbmMapping = new HbmMapping();
            var member     = typeof(MyClass).GetProperty("Relation");
            var hbm        = new HbmManyToOne();
            var mapper     = new ManyToOneMapper(member, hbm, hbmMapping);

            mapper.Access(Accessor.ReadOnly);
            Assert.That(hbm.Access, Is.EqualTo("readonly"));
        }
Exemple #10
0
        public void CanSetNotFoundWithIgnoreMode()
        {
            var hbmMapping = new HbmMapping();
            var member     = typeof(MyClass).GetProperty("Relation");
            var hbm        = new HbmManyToOne();
            var mapper     = new ManyToOneMapper(member, hbm, hbmMapping);

            mapper.NotFound(NotFoundMode.Ignore);

            Assert.That(hbm.notfound, Is.EqualTo(HbmNotFoundMode.Ignore));
        }
        public void CanSetPropertyRefName()
        {
            var hbmMapping = new HbmMapping();
            var member     = typeof(MyClass).GetProperty("Relation");
            var hbm        = new HbmManyToOne();
            var mapper     = new ManyToOneMapper(member, hbm, hbmMapping);

            mapper.PropertyRef("PropertyRefName");

            hbm.propertyref.Should().Be("PropertyRefName");
        }
        public void CanSetFk()
        {
            var hbmMapping = new HbmMapping();
            var member     = typeof(MyClass).GetProperty("Relation");
            var hbm        = new HbmManyToOne();
            var mapper     = new ManyToOneMapper(member, hbm, hbmMapping);

            mapper.ForeignKey("MyFkName");

            hbm.foreignkey.Should().Be("MyFkName");
        }
Exemple #13
0
        public void WhenSetMultiColumnsValuesThenAutoassignColumnNames()
        {
            var hbmMapping = new HbmMapping();
            var member     = typeof(MyClass).GetProperty("Relation");
            var mapping    = new HbmManyToOne();
            var mapper     = new ManyToOneMapper(member, mapping, hbmMapping);

            mapper.Columns(cm => cm.Length(50), cm => cm.SqlType("VARCHAR(10)"));
            Assert.That(mapping.Columns.Count(), Is.EqualTo(2));
            Assert.That(mapping.Columns.All(cm => !string.IsNullOrEmpty(cm.name)), Is.True);
        }
        public void CanSetLazyness()
        {
            var hbmMapping = new HbmMapping();
            var member     = typeof(MyClass).GetProperty("TheOtherRelation");
            var mapping    = new HbmManyToOne();
            var mapper     = new ManyToOneMapper(member, mapping, hbmMapping);

            mapper.Lazy(LazyRelation.NoProxy);
            mapping.Lazy.Should().Have.Value();
            mapping.Lazy.Should().Be(HbmLaziness.NoProxy);
        }
Exemple #15
0
        public void CanSetFk()
        {
            var hbmMapping = new HbmMapping();
            var member     = typeof(MyClass).GetProperty("Relation");
            var hbm        = new HbmManyToOne();
            var mapper     = new ManyToOneMapper(member, hbm, hbmMapping);

            mapper.ForeignKey("MyFkName");

            Assert.That(hbm.foreignkey, Is.EqualTo("MyFkName"));
        }
        public void CanForceClassRelation()
        {
            var hbmMapping = new HbmMapping();
            var member     = typeof(MyClass).GetProperty("TheOtherRelation");
            var mapping    = new HbmManyToOne();
            var mapper     = new ManyToOneMapper(member, mapping, hbmMapping);

            mapper.Class(typeof(Relation));

            mapping.Class.Should().Contain("Relation").And.Not.Contain("IRelation");
        }
        public void WhenSetMultiColumnsValuesThenAutoassignColumnNames()
        {
            var hbmMapping = new HbmMapping();
            var member     = typeof(MyClass).GetProperty("Relation");
            var mapping    = new HbmManyToOne();
            var mapper     = new ManyToOneMapper(member, mapping, hbmMapping);

            mapper.Columns(cm => cm.Length(50), cm => cm.SqlType("VARCHAR(10)"));
            mapping.Columns.Should().Have.Count.EqualTo(2);
            mapping.Columns.All(cm => cm.name.Satisfy(n => !string.IsNullOrEmpty(n)));
        }
        public void CanSetNotFoundWithIgnoreMode()
        {
            var hbmMapping = new HbmMapping();
            var member     = typeof(MyClass).GetProperty("Relation");
            var hbm        = new HbmManyToOne();
            var mapper     = new ManyToOneMapper(member, hbm, hbmMapping);

            mapper.NotFound(NotFoundMode.Ignore);

            hbm.notfound.Should().Be(HbmNotFoundMode.Ignore);
        }
Exemple #19
0
        public void CanSetLazyness()
        {
            var hbmMapping = new HbmMapping();
            var member     = typeof(MyClass).GetProperty("TheOtherRelation");
            var mapping    = new HbmManyToOne();
            var mapper     = new ManyToOneMapper(member, mapping, hbmMapping);

            mapper.Lazy(LazyRelation.NoProxy);
            Assert.That(mapping.Lazy, Is.Not.Null);
            Assert.That(mapping.Lazy, Is.EqualTo(HbmLaziness.NoProxy));
        }
Exemple #20
0
        public void CanSetPropertyRefName()
        {
            var hbmMapping = new HbmMapping();
            var member     = typeof(MyClass).GetProperty("Relation");
            var hbm        = new HbmManyToOne();
            var mapper     = new ManyToOneMapper(member, hbm, hbmMapping);

            mapper.PropertyRef("PropertyRefName");

            Assert.That(hbm.propertyref, Is.EqualTo("PropertyRefName"));
        }
        public void CanSetFormula()
        {
            var hbmMapping = new HbmMapping();
            var member     = ForClass <MyClass> .Property(c => c.Relation);

            var mapping = new HbmManyToOne();
            var mapper  = new ManyToOneMapper(member, mapping, hbmMapping);

            mapper.Formula("SomeFormula");
            mapping.formula.Should().Be("SomeFormula");
        }
        public void WhenSetDefaultColumnNameThenDoesNotSetTheName()
        {
            var hbmMapping = new HbmMapping();
            var member     = typeof(MyClass).GetProperty("Relation");
            var mapping    = new HbmManyToOne();
            var mapper     = new ManyToOneMapper(member, mapping, hbmMapping);

            mapper.Column(cm => cm.Name("Relation"));
            mapping.column.Should().Be.Null();
            mapping.Columns.Should().Be.Empty();
        }
        public void SettingColumnOverridesFormula()
        {
            var hbmMapping = new HbmMapping();
            var member     = ForClass <MyClass> .Property(c => c.Relation);

            var mapping = new HbmManyToOne();
            var mapper  = new ManyToOneMapper(member, mapping, hbmMapping);

            mapper.Formula("formula");
            mapper.Column(cm => cm.Unique(true));
            mapping.formula.Should().Be.Null();
        }
        public void WhenSetDifferentColumnNameThenSetTheName()
        {
            var hbmMapping = new HbmMapping();
            var member     = typeof(MyClass).GetProperty("Relation");
            var hbm        = new HbmManyToOne();
            var mapper     = new ManyToOneMapper(member, hbm, hbmMapping);

            mapper.Column(cm => cm.Name("RelationId"));

            hbm.Columns.Should().Have.Count.EqualTo(1);
            hbm.Columns.Single().name.Should().Be("RelationId");
        }
        public void WhenSetFetchModeToSelectThenResetFetch()
        {
            var hbmMapping = new HbmMapping();
            var member     = typeof(MyClass).GetProperty("Relation");
            var mapping    = new HbmManyToOne();
            var mapper     = new ManyToOneMapper(member, mapping, hbmMapping);

            mapper.Fetch(FetchKind.Select);

            mapping.fetch.Should().Be(HbmFetchMode.Select);
            mapping.fetchSpecified.Should().Be.False();
        }
Exemple #26
0
        public void WhenSetFetchModeToSelectThenResetFetch()
        {
            var hbmMapping = new HbmMapping();
            var member     = typeof(MyClass).GetProperty("Relation");
            var mapping    = new HbmManyToOne();
            var mapper     = new ManyToOneMapper(member, mapping, hbmMapping);

            mapper.Fetch(FetchKind.Select);

            Assert.That(mapping.fetch, Is.EqualTo(HbmFetchMode.Select));
            Assert.That(mapping.fetchSpecified, Is.False);
        }
        public void WhenSetFormulaWithNullThenDoNothing()
        {
            var hbmMapping = new HbmMapping();
            var member     = ForClass <MyClass> .Property(c => c.Relation);

            var mapping = new HbmManyToOne();
            var mapper  = new ManyToOneMapper(member, mapping, hbmMapping);

            mapper.Column("MyColumn");
            mapper.Formula(null);
            mapping.formula.Should().Be.Null();
            mapping.column.Should().Not.Be.Null();
        }
        public void SettingColumnPlainValuesOverridesFormula()
        {
            var hbmMapping = new HbmMapping();
            var member     = ForClass <MyClass> .Property(c => c.Relation);

            var mapping = new HbmManyToOne();
            var mapper  = new ManyToOneMapper(member, mapping, hbmMapping);

            mapper.Formula("formula");
            mapper.Column("colName");
            mapping.formula.Should().Be.Null();
            mapping.column.Should().Be("colName");
        }
        public void WhenSetFormulaThenResetColumn()
        {
            var hbmMapping = new HbmMapping();
            var member     = ForClass <MyClass> .Property(c => c.Relation);

            var mapping = new HbmManyToOne();
            var mapper  = new ManyToOneMapper(member, mapping, hbmMapping);

            mapper.Column("MyColumn");
            mapper.Formula("SomeFormula");
            mapping.formula.Should().Be("SomeFormula");
            mapping.column.Should().Be.Null();
            mapping.Items.Should().Be.Null();
        }
        public void SettingFormulaOverridesColumnNodes()
        {
            var hbmMapping = new HbmMapping();
            var member     = ForClass <MyClass> .Property(c => c.Relation);

            var mapping = new HbmManyToOne();
            var mapper  = new ManyToOneMapper(member, mapping, hbmMapping);

            mapper.Column(cm => cm.SqlType("VARCHAR(80)"));
            mapper.Formula("formula");
            mapping.formula.Should().Be("formula");
            mapping.column.Should().Be(null);
            mapping.Items.Should().Be.Null();
        }