public void WhenForceClassRelationToIncompatibleTypeThenThrows() { var mapping = new HbmManyToMany(); var mapper = new ManyToManyMapper(typeof(MyClass), mapping, null); Executing.This(() => mapper.Class(typeof(Whatever))).Should().Throw <ArgumentOutOfRangeException>(); }
public void CanAssignEntityName() { var mapping = new HbmManyToMany(); var mapper = new ManyToManyMapper(typeof(MyClass), mapping, null); mapper.EntityName("myname"); mapping.EntityName.Should().Be("myname"); }
public void CanAssignNotFoundMode() { var mapping = new HbmManyToMany(); var mapper = new ManyToManyMapper(typeof(MyClass), mapping, null); mapper.NotFound(NotFoundMode.Ignore); mapping.NotFoundMode.Should().Be(HbmNotFoundMode.Ignore); }
public void CanSetFormula() { var mapping = new HbmManyToMany(); var mapper = new ManyToManyMapper(typeof(MyClass), mapping, null); mapper.Formula("SomeFormula"); mapping.formula.Should().Be("SomeFormula"); }
public void CanForceClassRelation() { var mapping = new HbmManyToMany(); var mapper = new ManyToManyMapper(typeof(MyClass), mapping, null); mapper.Class(typeof(MyClass)); mapping.Class.Should().Contain("MyClass").And.Not.Contain("IMyInterface"); }
public void AfterSetMultiColumnsCantSetSimpleColumn() { var mapping = new HbmManyToMany(); var mapper = new ManyToManyMapper(typeof(MyClass), mapping, null); mapper.Columns(cm => cm.Length(50), cm => cm.SqlType("VARCHAR(10)")); mapper.Executing(x => x.Column(cm => cm.Length(50))).Throws <MappingException>(); }
public void SettingColumnOverridesFormula() { var mapping = new HbmManyToMany(); var mapper = new ManyToManyMapper(typeof(MyClass), mapping, null); mapper.Formula("formula"); mapper.Column(cm => cm.Unique(true)); mapping.formula.Should().Be.Null(); }
public void WhenSetDefaultColumnNameThenDoesNotSetTheName() { var mapping = new HbmManyToMany(); var mapper = new ManyToManyMapper(typeof(MyClass), mapping, null); mapper.Column(cm => cm.Name("MyClass")); mapping.column.Should().Be.Null(); mapping.Columns.Should().Be.Empty(); }
public void WhenSetMultiColumnsValuesThenAutoassignColumnNames() { var mapping = new HbmManyToMany(); var mapper = new ManyToManyMapper(typeof(MyClass), mapping, null); 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 WhenSetFormulaWithNullThenDoNothing() { var mapping = new HbmManyToMany(); var mapper = new ManyToManyMapper(typeof(MyClass), mapping, null); mapper.Column("MyColumn"); mapper.Formula(null); mapping.formula.Should().Be.Null(); mapping.column.Should().Not.Be.Null(); }
public void WhenSetDifferentColumnNameThenSetTheName() { var mapping = new HbmManyToMany(); var mapper = new ManyToManyMapper(typeof(MyClass), mapping, null); mapper.Column(cm => cm.Name("pepe")); mapping.Columns.Should().Have.Count.EqualTo(1); mapping.Columns.Single().name.Should().Be("pepe"); }
public void SettingColumnPlainValuesOverridesFormula() { var mapping = new HbmManyToMany(); var mapper = new ManyToManyMapper(typeof(MyClass), mapping, null); mapper.Formula("formula"); mapper.Column("colName"); mapping.formula.Should().Be.Null(); mapping.column.Should().Be("colName"); }
public void WhenSetFormulaThenResetColumn() { var mapping = new HbmManyToMany(); var mapper = new ManyToManyMapper(typeof(MyClass), mapping, null); 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 mapping = new HbmManyToMany(); var mapper = new ManyToManyMapper(typeof(MyClass), mapping, null); 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(); }
public void WhenSetColumnValuesThenAddColumnTag() { var mapping = new HbmManyToMany(); var mapper = new ManyToManyMapper(typeof(MyClass), mapping, null); mapper.Column(cm => { cm.SqlType("VARCHAR(3)"); cm.NotNullable(true); }); mapping.Columns.Should().Not.Be.Null(); mapping.Columns.Should().Have.Count.EqualTo(1); }
public void CanSetLazyness() { var mapping = new HbmManyToMany(); var mapper = new ManyToManyMapper(typeof(MyClass), mapping, null); mapper.Lazy(LazyRelation.NoProxy); mapping.lazy.Should().Be(HbmRestrictedLaziness.False); mapper.Lazy(LazyRelation.NoLazy); mapping.lazy.Should().Be(HbmRestrictedLaziness.False); mapper.Lazy(LazyRelation.Proxy); mapping.lazy.Should().Be(HbmRestrictedLaziness.Proxy); }
public void CanSetMultipleFormulas() { var hbmMapping = new HbmMapping(); var mapping = new HbmManyToMany(); IManyToManyMapper mapper = new ManyToManyMapper(typeof(Element), mapping, hbmMapping); mapper.Formulas("formula1", "formula2", "formula3"); Assert.That(mapping.formula, Is.Null); Assert.That(mapping.Items, Has.Length.EqualTo(3)); Assert.That( mapping.Items.Cast <HbmFormula>().Select(f => f.Text.Single()), Is.EquivalentTo(new[] { "formula1", "formula2", "formula3" })); }
public void WhenSetMultiColumnsValuesThenAddColumns() { var mapping = new HbmManyToMany(); var mapper = new ManyToManyMapper(typeof(MyClass), mapping, null); mapper.Columns(cm => { cm.Name("column1"); cm.Length(50); }, cm => { cm.Name("column2"); cm.SqlType("VARCHAR(10)"); }); mapping.Columns.Should().Have.Count.EqualTo(2); }
public void WhenSetFormulaWithMultipleLinesThenSetFormulaNode() { var mapping = new HbmManyToMany(); var mapper = new ManyToManyMapper(typeof(MyClass), mapping, null); var formula = @"Line1 Line2"; mapper.Formula(formula); mapping.formula.Should().Be.Null(); mapping.Items.FirstOrDefault().Should().Not.Be.Null().And.Be.OfType <HbmFormula>(); var hbmFormula = (HbmFormula)(mapping.Items.First()); hbmFormula.Text.Length.Should().Be(2); hbmFormula.Text[0].Should().Be("Line1"); hbmFormula.Text[1].Should().Be("Line2"); }
public void CanSetColumnsAndFormulas() { var hbmMapping = new HbmMapping(); var mapping = new HbmManyToMany(); IManyToManyMapper mapper = new ManyToManyMapper(typeof(Element), mapping, hbmMapping); mapper.ColumnsAndFormulas(x => x.Name("pizza"), x => x.Formula("risotto"), x => x.Name("pasta")); Assert.That(mapping.Items, Has.Length.EqualTo(3)); Assert.That(mapping.Items[0], Is.TypeOf <HbmColumn>(), "first"); Assert.That(mapping.Items[1], Is.TypeOf <HbmFormula>(), "second"); Assert.That(mapping.Items[2], Is.TypeOf <HbmColumn>(), "third"); Assert.That(((HbmColumn)mapping.Items[0]).name, Is.EqualTo("pizza")); Assert.That(((HbmFormula)mapping.Items[1]).Text, Has.Length.EqualTo(1).And.One.EqualTo("risotto")); Assert.That(((HbmColumn)mapping.Items[2]).name, Is.EqualTo("pasta")); Assert.That(mapping.column, Is.Null, "column"); Assert.That(mapping.formula, Is.Null, "formula"); }