コード例 #1
0
 public void AfterSetMultiColumnsCantSetSimpleColumn()
 {
     var member = typeof(MyClass).GetProperty("Version");
     var mapping = new HbmVersion();
     var mapper = new VersionMapper(member, mapping);
     mapper.Columns(cm => cm.Length(50), cm => cm.SqlType("VARCHAR(10)"));
     ActionAssert.Throws<ConfOrm.MappingException>(() => mapper.Column(cm => cm.Length(50)));
 }
コード例 #2
0
 public void CanSetGenerated()
 {
     var member = typeof(MyClass).GetProperty("Version");
     var mapping = new HbmVersion();
     var mapper = new VersionMapper(member, mapping);
     mapper.Generated(VersionGeneration.Always);
     mapping.generated.Should().Be(HbmVersionGeneration.Always);
 }
コード例 #3
0
 public void CanSetUsavedValue()
 {
     var member = typeof(MyClass).GetProperty("Version");
     var mapping = new HbmVersion();
     var mapper = new VersionMapper(member, mapping);
     mapper.UnsavedValue(null);
     mapping.unsavedvalue.Should().Be("null");
     mapper.UnsavedValue(0);
     mapping.unsavedvalue.Should().Be("0");
 }
コード例 #4
0
        public void WhenSetAccessorByTypeThenCheckCompatibility()
        {
            var member = typeof(MyClass).GetProperty("ReadOnly");
            var mapping = new HbmVersion();
            var mapper = new VersionMapper(member, mapping);

            ActionAssert.Throws<ArgumentOutOfRangeException>(() => mapper.Access(typeof(object)));
            ActionAssert.NotThrow(() => mapper.Access(typeof(FieldAccessor)));
            mapping.access.Should().Be.EqualTo(typeof(FieldAccessor).AssemblyQualifiedName);
        }
コード例 #5
0
 public void CanSetInsert()
 {
     var member = typeof(MyClass).GetProperty("Version");
     var mapping = new HbmVersion();
     var mapper = new VersionMapper(member, mapping);
     mapper.Insert(true);
     mapping.insertSpecified.Should("True is the default value (not specified if true)").Be.False();
     mapper.Insert(false);
     mapping.insert.Should().Be.False();
     mapping.insertSpecified.Should().Be.True();
 }
コード例 #6
0
        public void CanSetInsert()
        {
            var member  = typeof(MyClass).GetProperty("Version");
            var mapping = new HbmVersion();
            var mapper  = new VersionMapper(member, mapping);

            mapper.Insert(true);
            mapping.insertSpecified.Should("True is the default value (not specified if true)").Be.False();
            mapper.Insert(false);
            mapping.insert.Should().Be.False();
            mapping.insertSpecified.Should().Be.True();
        }
コード例 #7
0
        public void WhenSetColumnValuesThenAddColumnTag()
        {
            var member  = typeof(MyClass).GetProperty("Version");
            var mapping = new HbmVersion();
            var mapper  = new VersionMapper(member, mapping);

            mapper.Column(cm =>
            {
                cm.SqlType("timestamp");
                cm.NotNullable(true);
            });
            mapping.Columns.Should().Not.Be.Null();
            mapping.Columns.Should().Have.Count.EqualTo(1);
        }
コード例 #8
0
        public void WhenSetMultiColumnsValuesThenAddColumns()
        {
            var member  = typeof(MyClass).GetProperty("Version");
            var mapping = new HbmVersion();
            var mapper  = new VersionMapper(member, mapping);

            mapper.Type <MyVerionType>();
            mapper.Columns(cm =>
            {
                cm.Name("column1");
                cm.Length(50);
            }, cm =>
            {
                cm.Name("column2");
                cm.SqlType("VARCHAR(10)");
            });
            mapping.Columns.Should().Have.Count.EqualTo(2);
        }
コード例 #9
0
        public void WhenSetTypeByIVersionTypeThenSetTypeName()
        {
            var member = typeof(MyClass).GetProperty("Version");
            var mapping = new HbmVersion();
            var mapper = new VersionMapper(member, mapping);
            mapper.Type((IVersionType)NHibernateUtil.Int32);

            mapping.type.Should().Be.EqualTo("Int32");
        }
コード例 #10
0
        public void WhenSetTypeByIUserVersionTypeThenSetTypeName()
        {
            var member = typeof(MyClass).GetProperty("Version");
            var mapping = new HbmVersion();
            var mapper = new VersionMapper(member, mapping);
            mapper.Type<MyVerionType>();

            mapping.type.Should().Contain("MyVerionType");
        }
コード例 #11
0
 public void WhenSetMultiColumnsValuesThenAddColumns()
 {
     var member = typeof(MyClass).GetProperty("Version");
     var mapping = new HbmVersion();
     var mapper = new VersionMapper(member, mapping);
     mapper.Type<MyVerionType>();
     mapper.Columns(cm =>
         {
             cm.Name("column1");
             cm.Length(50);
         }, cm =>
             {
                 cm.Name("column2");
                 cm.SqlType("VARCHAR(10)");
             });
     mapping.Columns.Should().Have.Count.EqualTo(2);
 }
コード例 #12
0
 public void WhenSetInvalidTypeThenThrow()
 {
     var member = typeof(MyClass).GetProperty("Version");
     var mapping = new HbmVersion();
     var mapper = new VersionMapper(member, mapping);
     ActionAssert.Throws<ArgumentOutOfRangeException>(() => mapper.Type(typeof(object)));
     ActionAssert.Throws<ArgumentNullException>(() => mapper.Type((Type)null));
 }
コード例 #13
0
        public void WhenSetDifferentColumnNameThenSetTheName()
        {
            var member = typeof(MyClass).GetProperty("Version");
            var mapping = new HbmVersion();
            var mapper = new VersionMapper(member, mapping);
            mapper.Column(cm => cm.Name("pepe"));

            mapping.Columns.Should().Have.Count.EqualTo(1);
            mapping.Columns.Single().name.Should().Be("pepe");
        }
コード例 #14
0
 public void WhenSetDefaultColumnNameThenDoesNotSetTheName()
 {
     var member = typeof(MyClass).GetProperty("Version");
     var mapping = new HbmVersion();
     var mapper = new VersionMapper(member, mapping);
     mapper.Column(cm => cm.Name("Version"));
     mapping.column1.Should().Be.Null();
     mapping.Columns.Should().Be.Empty();
 }
コード例 #15
0
 public void WhenSetMultiColumnsValuesThenAutoassignColumnNames()
 {
     var member = typeof(MyClass).GetProperty("Version");
     var mapping = new HbmVersion();
     var mapper = new VersionMapper(member, mapping);
     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)));
 }
コード例 #16
0
 public void WhenSetColumnValuesThenAddColumnTag()
 {
     var member = typeof(MyClass).GetProperty("Version");
     var mapping = new HbmVersion();
     var mapper = new VersionMapper(member, mapping);
     mapper.Column(cm =>
     {
         cm.SqlType("timestamp");
         cm.NotNullable(true);
     });
     mapping.Columns.Should().Not.Be.Null();
     mapping.Columns.Should().Have.Count.EqualTo(1);
 }
コード例 #17
0
 public ObjectStreamFactory()
 {
     _versionMapper = new VersionMapper();
 }