Пример #1
0
        public void Select_throws_for_unsupported_combinations()
        {
            var dbConfigurationMock        = new Mock <DbContextConfiguration>();
            var redisDatabaseMock          = new Mock <RedisDatabase>(dbConfigurationMock.Object);
            var guidValueGenerator         = new SimpleValueGeneratorFactory <GuidValueGenerator>();
            var redisValueGeneratorFactory = new RedisValueGeneratorFactory(redisDatabaseMock.Object);

            var selector = new RedisValueGeneratorSelector(guidValueGenerator, redisValueGeneratorFactory);

            var typeMock = new Mock <IEntityType>();

            typeMock.Setup(m => m.Name).Returns("AnEntity");

            Assert.Equal(
                GetString("FormatNoValueGenerator", "MyProperty", "MyType", "String"),
                Assert.Throws <NotSupportedException>(() => selector.Select(CreateProperty(typeof(string), ValueGeneration.OnAdd))).Message);
            Assert.Equal(
                GetString("FormatNoValueGenerator", "MyProperty", "MyType", "Single"),
                Assert.Throws <NotSupportedException>(() => selector.Select(CreateProperty(typeof(float), ValueGeneration.OnAdd))).Message);
            Assert.Equal(
                GetString("FormatNoValueGenerator", "MyProperty", "MyType", "Double"),
                Assert.Throws <NotSupportedException>(() => selector.Select(CreateProperty(typeof(double), ValueGeneration.OnAdd))).Message);
            Assert.Equal(
                GetString("FormatNoValueGenerator", "MyProperty", "MyType", "DateTime"),
                Assert.Throws <NotSupportedException>(() => selector.Select(CreateProperty(typeof(DateTime), ValueGeneration.OnAdd))).Message);
            Assert.Equal(
                GetString("FormatNoValueGenerator", "MyProperty", "MyType", "DateTimeOffset"),
                Assert.Throws <NotSupportedException>(() => selector.Select(CreateProperty(typeof(DateTimeOffset), ValueGeneration.OnAdd))).Message);
        }
Пример #2
0
        public void Select_returns_GuidValueGenerator_for_Guid_type_with_ValueGeneration_set_to_OnAdd()
        {
            var dbConfigurationMock        = new Mock <DbContextConfiguration>();
            var redisDatabaseMock          = new Mock <RedisDatabase>(dbConfigurationMock.Object);
            var guidValueGenerator         = new SimpleValueGeneratorFactory <GuidValueGenerator>();
            var redisValueGeneratorFactory = new RedisValueGeneratorFactory(redisDatabaseMock.Object);

            var selector = new RedisValueGeneratorSelector(guidValueGenerator, redisValueGeneratorFactory);

            Assert.Same(guidValueGenerator, selector.Select(CreateProperty(typeof(Guid), ValueGeneration.OnAdd)));
        }
Пример #3
0
        public void Select_returns_RedisValueGeneratorFactory_for_all_integer_types_with_ValueGeneration_set_to_OnAdd()
        {
            var dbConfigurationMock        = new Mock <DbContextConfiguration>();
            var redisDatabaseMock          = new Mock <RedisDatabase>(dbConfigurationMock.Object);
            var guidValueGenerator         = new SimpleValueGeneratorFactory <GuidValueGenerator>();
            var redisValueGeneratorFactory = new RedisValueGeneratorFactory(redisDatabaseMock.Object);

            var selector = new RedisValueGeneratorSelector(guidValueGenerator, redisValueGeneratorFactory);

            Assert.Same(redisValueGeneratorFactory, selector.Select(CreateProperty(typeof(long), ValueGeneration.OnAdd)));
            Assert.Same(redisValueGeneratorFactory, selector.Select(CreateProperty(typeof(int), ValueGeneration.OnAdd)));
            Assert.Same(redisValueGeneratorFactory, selector.Select(CreateProperty(typeof(short), ValueGeneration.OnAdd)));
            Assert.Same(redisValueGeneratorFactory, selector.Select(CreateProperty(typeof(byte), ValueGeneration.OnAdd)));
            Assert.Same(redisValueGeneratorFactory, selector.Select(CreateProperty(typeof(ulong), ValueGeneration.OnAdd)));
            Assert.Same(redisValueGeneratorFactory, selector.Select(CreateProperty(typeof(uint), ValueGeneration.OnAdd)));
            Assert.Same(redisValueGeneratorFactory, selector.Select(CreateProperty(typeof(ushort), ValueGeneration.OnAdd)));
            Assert.Same(redisValueGeneratorFactory, selector.Select(CreateProperty(typeof(sbyte), ValueGeneration.OnAdd)));
        }
Пример #4
0
        public void Select_returns_null_for_all_types_with_ValueGeneration_set_to_None()
        {
            var dbConfigurationMock        = new Mock <DbContextConfiguration>();
            var redisDatabaseMock          = new Mock <RedisDatabase>(dbConfigurationMock.Object);
            var guidValueGenerator         = new SimpleValueGeneratorFactory <GuidValueGenerator>();
            var redisValueGeneratorFactory = new RedisValueGeneratorFactory(redisDatabaseMock.Object);

            var selector = new RedisValueGeneratorSelector(guidValueGenerator, redisValueGeneratorFactory);

            Assert.Null(selector.Select(CreateProperty(typeof(long), ValueGeneration.None)));
            Assert.Null(selector.Select(CreateProperty(typeof(int), ValueGeneration.None)));
            Assert.Null(selector.Select(CreateProperty(typeof(short), ValueGeneration.None)));
            Assert.Null(selector.Select(CreateProperty(typeof(byte), ValueGeneration.None)));
            Assert.Null(selector.Select(CreateProperty(typeof(ulong), ValueGeneration.None)));
            Assert.Null(selector.Select(CreateProperty(typeof(uint), ValueGeneration.None)));
            Assert.Null(selector.Select(CreateProperty(typeof(ushort), ValueGeneration.None)));
            Assert.Null(selector.Select(CreateProperty(typeof(sbyte), ValueGeneration.None)));
            Assert.Null(selector.Select(CreateProperty(typeof(string), ValueGeneration.None)));
            Assert.Null(selector.Select(CreateProperty(typeof(float), ValueGeneration.None)));
            Assert.Null(selector.Select(CreateProperty(typeof(double), ValueGeneration.None)));
            Assert.Null(selector.Select(CreateProperty(typeof(Guid), ValueGeneration.None)));
            Assert.Null(selector.Select(CreateProperty(typeof(DateTime), ValueGeneration.None)));
            Assert.Null(selector.Select(CreateProperty(typeof(DateTimeOffset), ValueGeneration.None)));
        }