Пример #1
0
        public void ScaleTypes()
        {
            const int min          = 0;
            const int intermediate = 5;
            const int max          = 7;
            var       dialect      = new MsSql2008Dialect();

            Assert.That(dialect.GetTypeName(SqlTypeFactory.DateTime), Is.EqualTo("datetime").IgnoreCase, "Default datetime");
            Assert.That(dialect.GetTypeName(SqlTypeFactory.GetDateTime(min)), Is.EqualTo("datetime").IgnoreCase, "Min datetime");
            Assert.That(dialect.GetTypeName(SqlTypeFactory.GetDateTime(intermediate)), Is.EqualTo("datetime").IgnoreCase, "Intermediate datetime");
            Assert.That(dialect.GetTypeName(SqlTypeFactory.GetDateTime(max)), Is.EqualTo("datetime").IgnoreCase, "Max datetime");
            Assert.That(dialect.GetLongestTypeName(DbType.DateTime), Is.EqualTo("datetime").IgnoreCase, "Longest datetime");
            Assert.That(dialect.GetTypeName(SqlTypeFactory.GetDateTime(max + 1)), Is.EqualTo("datetime").IgnoreCase, "Over max datetime");

            Assert.That(dialect.GetTypeName(SqlTypeFactory.DateTime2), Is.EqualTo("datetime2").IgnoreCase, "Default datetime2");
            Assert.That(dialect.GetTypeName(SqlTypeFactory.GetDateTime2(min)), Is.EqualTo($"datetime2({min})").IgnoreCase, "Min datetime2");
            Assert.That(dialect.GetTypeName(SqlTypeFactory.GetDateTime2(intermediate)), Is.EqualTo($"datetime2({intermediate})").IgnoreCase, "Intermediate datetime2");
            Assert.That(dialect.GetTypeName(SqlTypeFactory.GetDateTime2(max)), Is.EqualTo($"datetime2({max})").IgnoreCase, "Max datetime2");
            Assert.That(dialect.GetLongestTypeName(DbType.DateTime2), Is.EqualTo($"datetime2({max})").IgnoreCase, "Longest datetime2");
            Assert.That(dialect.GetTypeName(SqlTypeFactory.GetDateTime2(max + 1)), Is.EqualTo("datetime2").IgnoreCase, "Over max datetime2");

            Assert.That(dialect.GetTypeName(SqlTypeFactory.DateTimeOffSet), Is.EqualTo("datetimeoffset").IgnoreCase, "Default datetimeoffset");
            Assert.That(dialect.GetTypeName(SqlTypeFactory.GetDateTimeOffset(min)), Is.EqualTo($"datetimeoffset({min})").IgnoreCase, "Min datetimeoffset");
            Assert.That(dialect.GetTypeName(SqlTypeFactory.GetDateTimeOffset(intermediate)), Is.EqualTo($"datetimeoffset({intermediate})").IgnoreCase, "Intermediate datetimeoffset");
            Assert.That(dialect.GetTypeName(SqlTypeFactory.GetDateTimeOffset(max)), Is.EqualTo($"datetimeoffset({max})").IgnoreCase, "Max datetimeoffset");
            Assert.That(dialect.GetLongestTypeName(DbType.DateTimeOffset), Is.EqualTo($"datetimeoffset({max})").IgnoreCase, "Longest datetimeoffset");
            Assert.That(dialect.GetTypeName(SqlTypeFactory.GetDateTimeOffset(max + 1)), Is.EqualTo("datetimeoffset").IgnoreCase, "Over max datetimeoffset");

            Assert.That(dialect.GetTypeName(SqlTypeFactory.Time), Is.EqualTo("time").IgnoreCase, "Default time");
            Assert.That(dialect.GetTypeName(SqlTypeFactory.GetTime(min)), Is.EqualTo($"time({min})").IgnoreCase, "Min time");
            Assert.That(dialect.GetTypeName(SqlTypeFactory.GetTime(intermediate)), Is.EqualTo($"time({intermediate})").IgnoreCase, "Intermediate time");
            Assert.That(dialect.GetTypeName(SqlTypeFactory.GetTime(max)), Is.EqualTo($"time({max})").IgnoreCase, "Max time");
            Assert.That(dialect.GetLongestTypeName(DbType.Time), Is.EqualTo($"time({max})").IgnoreCase, "Longest time");
            Assert.That(dialect.GetTypeName(SqlTypeFactory.GetTime(max + 1)), Is.EqualTo("time").IgnoreCase, "Over max time");
        }
Пример #2
0
        private void VerifyMapping(HbmMapping mapping)
        {
            var dialect       = new MsSql2008Dialect();
            var configuration = new Configuration();
            var mappings      = configuration.CreateMappings(dialect);

            mappings.DefaultAssembly  = "NHibernate.Test";
            mappings.DefaultNamespace = "NHibernate.Test.NHSpecificTest.NH1007";

            var rootBinder = new MappingRootBinder(mappings, dialect);

            rootBinder.Bind(mapping);

            var employer    = rootBinder.Mappings.GetClass("NHibernate.Test.NHSpecificTest.NH1007.Employer1");
            var simpleValue = employer.Identifier as SimpleValue;

            if (simpleValue != null)
            {
                Assert.That(simpleValue.IdentifierGeneratorStrategy, Is.EqualTo("guid"));
                Assert.That(simpleValue.IdentifierGeneratorProperties, Is.Empty);
            }
        }