public AnyMapper(MemberInfo member, System.Type foreignIdType, IAccessorPropertyMapper accessorMapper, HbmAny any, HbmMapping mapDoc) { this.member = member; this.foreignIdType = foreignIdType; this.any = any; this.mapDoc = mapDoc; if (member == null) { this.any.access = "none"; } entityPropertyMapper = member == null ? new NoMemberPropertyMapper() : accessorMapper; if (foreignIdType == null) { throw new ArgumentNullException("foreignIdType"); } if (any == null) { throw new ArgumentNullException("any"); } this.any.idtype = this.foreignIdType.GetNhTypeName(); var idHbmColumn = new HbmColumn(); string idColumnName = member == null ? DefaultIdColumnNameWhenNoProperty : member.Name + "Id"; idColumnMapper = new ColumnMapper(idHbmColumn, idColumnName); var classHbmColumn = new HbmColumn(); string classColumnName = member == null ? DefaultMetaColumnNameWhenNoProperty : member.Name + "Class"; classColumnMapper = new ColumnMapper(classHbmColumn, classColumnName); any.column = new[] { classHbmColumn, idHbmColumn }; }
public void WhenSetMetaValueWithClassThenThrow() { var hbmMapping = new HbmMapping(); var hbmAny = new HbmAny(); var mapper = new AnyMapper(null, typeof(int), hbmAny, hbmMapping); Executing.This(() => mapper.MetaValue(typeof(MyReferenceClass), typeof(MyReferenceClass))).Should().Throw <ArgumentOutOfRangeException>(); }
public void WhenSetMetaValueWithClassThenThrow() { var hbmMapping = new HbmMapping(); var hbmAny = new HbmAny(); var mapper = new AnyMapper(null, typeof(int), hbmAny, hbmMapping); Assert.That(() => mapper.MetaValue(typeof(MyReferenceClass), typeof(MyReferenceClass)), Throws.TypeOf <ArgumentOutOfRangeException>()); }
public void AtCreationSetIdType() { var hbmMapping = new HbmMapping(); var hbmAny = new HbmAny(); new AnyMapper(null, typeof(int), hbmAny, hbmMapping); hbmAny.idtype.Should().Be("Int32"); }
public void AtCreationSetIdType() { var hbmMapping = new HbmMapping(); var hbmAny = new HbmAny(); new AnyMapper(null, typeof(int), hbmAny, hbmMapping); Assert.That(hbmAny.idtype, Is.EqualTo("Int32")); }
public void CanSetLazy() { var hbmMapping = new HbmMapping(); var hbmAny = new HbmAny(); var mapper = new AnyMapper(null, typeof(int), hbmAny, hbmMapping); mapper.Lazy(true); Assert.That(hbmAny.lazy, Is.EqualTo(true)); }
public void CanSetIndex() { var hbmMapping = new HbmMapping(); var hbmAny = new HbmAny(); var mapper = new AnyMapper(null, typeof(int), hbmAny, hbmMapping); mapper.Index("pizza"); Assert.That(hbmAny.index, Is.EqualTo("pizza")); }
public void CanSetIndex() { var hbmMapping = new HbmMapping(); var hbmAny = new HbmAny(); var mapper = new AnyMapper(null, typeof(int), hbmAny, hbmMapping); mapper.Index("pizza"); hbmAny.index.Should().Be("pizza"); }
public void WhenSetFirstMetaValueThenSetMetaTypeIfNotClass() { var hbmMapping = new HbmMapping(); var hbmAny = new HbmAny(); var mapper = new AnyMapper(null, typeof(int), hbmAny, hbmMapping); mapper.MetaValue('A', typeof(MyReferenceClass)); hbmAny.MetaType.Should().Be("Char"); }
public void CanSetUpdate() { var hbmMapping = new HbmMapping(); var hbmAny = new HbmAny(); var mapper = new AnyMapper(null, typeof(int), hbmAny, hbmMapping); mapper.Update(false); Assert.That(hbmAny.update, Is.False); }
public void WhenDuplicatedMetaValueWithDifferentTypeThenThrow() { var hbmMapping = new HbmMapping(); var hbmAny = new HbmAny(); var mapper = new AnyMapper(null, typeof(int), hbmAny, hbmMapping); mapper.MetaValue('A', typeof(MyReferenceClass)); Assert.That(() => mapper.MetaValue('A', typeof(MyClass)), Throws.TypeOf <ArgumentException>()); }
public void CanSetMetaTypeThroughGenericMethod() { var hbmMapping = new HbmMapping(); var hbmAny = new HbmAny(); var mapper = new AnyMapper(null, typeof(int), hbmAny, hbmMapping); mapper.MetaType <char>(); hbmAny.MetaType.Should().Be("Char"); }
public void CanSetMetaTypeThroughIType() { var hbmMapping = new HbmMapping(); var hbmAny = new HbmAny(); var mapper = new AnyMapper(null, typeof(int), hbmAny, hbmMapping); mapper.MetaType(NHibernateUtil.Character); hbmAny.MetaType.Should().Be("Char"); }
public void CanSetIdTypeThroughType() { var hbmMapping = new HbmMapping(); var hbmAny = new HbmAny(); var mapper = new AnyMapper(null, typeof(int), hbmAny, hbmMapping); mapper.IdType(typeof(long)); hbmAny.idtype.Should().Be("Int64"); }
public void AtCreationSetTheTwoRequiredColumnsNodes() { var hbmMapping = new HbmMapping(); var hbmAny = new HbmAny(); new AnyMapper(null, typeof(int), hbmAny, hbmMapping); hbmAny.Columns.Should().Have.Count.EqualTo(2); hbmAny.Columns.Select(c => c.name).All(n => n.Satisfy(name => !string.IsNullOrEmpty(name))); }
public void CanSetInsert() { var hbmMapping = new HbmMapping(); var hbmAny = new HbmAny(); var mapper = new AnyMapper(null, typeof(int), hbmAny, hbmMapping); mapper.Insert(false); hbmAny.insert.Should().Be.False(); }
public void CanSetUpdate() { var hbmMapping = new HbmMapping(); var hbmAny = new HbmAny(); var mapper = new AnyMapper(null, typeof(int), hbmAny, hbmMapping); mapper.Update(false); hbmAny.update.Should().Be.False(); }
public void WhenNullParameterThenThrow() { var hbmMapping = new HbmMapping(); var hbmAny = new HbmAny(); var mapper = new AnyMapper(null, typeof(int), hbmAny, hbmMapping); Assert.That(() => mapper.MetaValue(null, typeof(MyReferenceClass)), Throws.TypeOf <ArgumentNullException>()); Assert.That(() => mapper.MetaValue('A', null), Throws.TypeOf <ArgumentNullException>()); }
public void WhenSetFirstMetaValueThenSetMetaTypeIfNotClass() { var hbmMapping = new HbmMapping(); var hbmAny = new HbmAny(); var mapper = new AnyMapper(null, typeof(int), hbmAny, hbmMapping); mapper.MetaValue('A', typeof(MyReferenceClass)); Assert.That(hbmAny.MetaType, Is.EqualTo("Char")); }
public void Any(MemberInfo property, System.Type idTypeOfMetaType, Action <IAnyMapper> mapping) { var hbm = new HbmAny { name = property.Name }; mapping(new AnyMapper(property, idTypeOfMetaType, new NoMemberPropertyMapper(), hbm, MapDoc)); AddProperty(hbm); }
public void WhenSetSecondMetaValueThenCheckCompatibility() { var hbmMapping = new HbmMapping(); var hbmAny = new HbmAny(); var mapper = new AnyMapper(null, typeof(int), hbmAny, hbmMapping); mapper.MetaValue('A', typeof(MyReferenceClass)); Assert.That(() => mapper.MetaValue(5, typeof(MyClass)), Throws.TypeOf <ArgumentException>()); }
protected void BindAny(HbmAny node, Any model, bool isNullable) { model.IdentifierTypeName = node.idtype; new TypeBinder(model, Mappings).Bind(node.idtype); BindAnyMeta(node, model); new ColumnsBinder(model, Mappings).Bind(node.Columns, isNullable, null); }
public void AtCreationSetTheTwoRequiredColumnsNodes() { var hbmMapping = new HbmMapping(); var hbmAny = new HbmAny(); new AnyMapper(null, typeof(int), hbmAny, hbmMapping); Assert.That(hbmAny.Columns.Count(), Is.EqualTo(2)); Assert.That(hbmAny.Columns.All(c => !string.IsNullOrEmpty(c.name)), Is.True); }
public void CanSetMetaTypeThroughIType() { var hbmMapping = new HbmMapping(); var hbmAny = new HbmAny(); var mapper = new AnyMapper(null, typeof(int), hbmAny, hbmMapping); mapper.MetaType(NHibernateUtil.Character); Assert.That(hbmAny.MetaType, Is.EqualTo("Char")); }
public void CanSetInsert() { var hbmMapping = new HbmMapping(); var hbmAny = new HbmAny(); var mapper = new AnyMapper(null, typeof(int), hbmAny, hbmMapping); mapper.Insert(false); Assert.That(hbmAny.insert, Is.False); }
public void CanSetLazy() { var hbmMapping = new HbmMapping(); var hbmAny = new HbmAny(); var mapper = new AnyMapper(null, typeof(int), hbmAny, hbmMapping); mapper.Lazy(true); hbmAny.lazy.Should().Be(true); }
public void CanSetIdTypeThroughType() { var hbmMapping = new HbmMapping(); var hbmAny = new HbmAny(); var mapper = new AnyMapper(null, typeof(int), hbmAny, hbmMapping); mapper.IdType(typeof(long)); Assert.That(hbmAny.idtype, Is.EqualTo("Int64")); }
public void CanSetCascade() { var hbmMapping = new HbmMapping(); var hbmAny = new HbmAny(); var mapper = new AnyMapper(null, typeof(int), hbmAny, hbmMapping); mapper.Cascade(Mapping.ByCode.Cascade.All); Assert.That(hbmAny.cascade, Is.EqualTo("all")); }
public void CanSetMetaTypeThroughGenericMethod() { var hbmMapping = new HbmMapping(); var hbmAny = new HbmAny(); var mapper = new AnyMapper(null, typeof(int), hbmAny, hbmMapping); mapper.MetaType <char>(); Assert.That(hbmAny.MetaType, Is.EqualTo("Char")); }
public void AutoCleanInvalidCascade() { var hbmMapping = new HbmMapping(); var hbmAny = new HbmAny(); var mapper = new AnyMapper(null, typeof(int), hbmAny, hbmMapping); mapper.Cascade(Mapping.ByCode.Cascade.All | Mapping.ByCode.Cascade.DeleteOrphans); Assert.That(hbmAny.cascade, Is.EqualTo("all")); }