Example #1
0
        public async Task Can_create_values_for_all_integer_types()
        {
            var entityType = _model.GetEntityType(typeof(AnEntity));

            var intProperty    = entityType.GetProperty("Id");
            var longProperty   = entityType.GetProperty("Long");
            var shortProperty  = entityType.GetProperty("Short");
            var byteProperty   = entityType.GetProperty("Byte");
            var uintProperty   = entityType.GetProperty("UnsignedInt");
            var ulongProperty  = entityType.GetProperty("UnsignedLong");
            var ushortProperty = entityType.GetProperty("UnsignedShort");
            var sbyteProperty  = entityType.GetProperty("SignedByte");

            var generator = new InMemoryValueGenerator();

            Assert.Equal(1L, await generator.NextAsync(longProperty, new DbContextService <DataStoreServices>(() => null)));
            Assert.Equal(2, await generator.NextAsync(intProperty, new DbContextService <DataStoreServices>(() => null)));
            Assert.Equal((short)3, await generator.NextAsync(shortProperty, new DbContextService <DataStoreServices>(() => null)));
            Assert.Equal((byte)4, await generator.NextAsync(byteProperty, new DbContextService <DataStoreServices>(() => null)));
            Assert.Equal((ulong)5, await generator.NextAsync(ulongProperty, new DbContextService <DataStoreServices>(() => null)));
            Assert.Equal((uint)6, await generator.NextAsync(uintProperty, new DbContextService <DataStoreServices>(() => null)));
            Assert.Equal((ushort)7, await generator.NextAsync(ushortProperty, new DbContextService <DataStoreServices>(() => null)));
            Assert.Equal((sbyte)8, await generator.NextAsync(sbyteProperty, new DbContextService <DataStoreServices>(() => null)));
            Assert.Equal(9L, generator.Next(longProperty, new DbContextService <DataStoreServices>(() => null)));
            Assert.Equal(10, generator.Next(intProperty, new DbContextService <DataStoreServices>(() => null)));
            Assert.Equal((short)11, generator.Next(shortProperty, new DbContextService <DataStoreServices>(() => null)));
            Assert.Equal((byte)12, generator.Next(byteProperty, new DbContextService <DataStoreServices>(() => null)));
            Assert.Equal((ulong)13, generator.Next(ulongProperty, new DbContextService <DataStoreServices>(() => null)));
            Assert.Equal((uint)14, generator.Next(uintProperty, new DbContextService <DataStoreServices>(() => null)));
            Assert.Equal((ushort)15, generator.Next(ushortProperty, new DbContextService <DataStoreServices>(() => null)));
            Assert.Equal((sbyte)16, generator.Next(sbyteProperty, new DbContextService <DataStoreServices>(() => null)));
        }
Example #2
0
        public void Throws_when_type_conversion_would_overflow()
        {
            var generator = new InMemoryValueGenerator();
            var property  = CreateProperty(typeof(byte));

            for (var i = 1; i < 256; i++)
            {
                generator.Next(Mock.Of <StateEntry>(), property);
            }

            Assert.Throws <OverflowException>(() => generator.Next(Mock.Of <StateEntry>(), property));
        }
Example #3
0
        public void Throws_when_type_conversion_would_overflow()
        {
            var generator = new InMemoryValueGenerator();
            var property  = CreateProperty(typeof(byte));

            for (var i = 1; i < 256; i++)
            {
                generator.Next(property, new DbContextService <DataStoreServices>(() => null));
            }

            Assert.Throws <OverflowException>(() => generator.Next(property, new DbContextService <DataStoreServices>(() => null)));
        }
        public void Throws_when_type_conversion_would_overflow()
        {
            var generator = new InMemoryValueGenerator();
            var property = CreateProperty(typeof(byte));

            for (var i = 1; i < 256; i++)
            {
                generator.Next(Mock.Of<StateEntry>(), property);
            }

            Assert.Throws<OverflowException>(() => generator.Next(Mock.Of<StateEntry>(), property));
        }
        public async Task Can_create_values_for_all_integer_types()
        {
            var generator = new InMemoryValueGenerator();

            Assert.Equal(1L, await generator.NextAsync(Mock.Of<StateEntry>(), CreateProperty(typeof(long))));
            Assert.Equal(2, await generator.NextAsync(Mock.Of<StateEntry>(), CreateProperty(typeof(int))));
            Assert.Equal((short)3, await generator.NextAsync(Mock.Of<StateEntry>(), CreateProperty(typeof(short))));
            Assert.Equal((byte)4, await generator.NextAsync(Mock.Of<StateEntry>(), CreateProperty(typeof(byte))));

            Assert.Equal(5L, generator.Next(Mock.Of<StateEntry>(), CreateProperty(typeof(long))));
            Assert.Equal(6, generator.Next(Mock.Of<StateEntry>(), CreateProperty(typeof(int))));
            Assert.Equal((short)7, generator.Next(Mock.Of<StateEntry>(), CreateProperty(typeof(short))));
            Assert.Equal((byte)8, generator.Next(Mock.Of<StateEntry>(), CreateProperty(typeof(byte))));
        }
        public async Task Can_create_values_for_all_integer_types()
        {
            var generator = new InMemoryValueGenerator();

            Assert.Equal(1L, await generator.NextAsync(Mock.Of <StateEntry>(), CreateProperty(typeof(long))));
            Assert.Equal(2, await generator.NextAsync(Mock.Of <StateEntry>(), CreateProperty(typeof(int))));
            Assert.Equal((short)3, await generator.NextAsync(Mock.Of <StateEntry>(), CreateProperty(typeof(short))));
            Assert.Equal((byte)4, await generator.NextAsync(Mock.Of <StateEntry>(), CreateProperty(typeof(byte))));

            Assert.Equal(5L, generator.Next(Mock.Of <StateEntry>(), CreateProperty(typeof(long))));
            Assert.Equal(6, generator.Next(Mock.Of <StateEntry>(), CreateProperty(typeof(int))));
            Assert.Equal((short)7, generator.Next(Mock.Of <StateEntry>(), CreateProperty(typeof(short))));
            Assert.Equal((byte)8, generator.Next(Mock.Of <StateEntry>(), CreateProperty(typeof(byte))));
        }
Example #7
0
        public async Task Creates_values()
        {
            var generator = new InMemoryValueGenerator();

            var stateEntry = TestHelpers.CreateStateEntry <AnEntity>(_model);
            var property   = stateEntry.EntityType.GetProperty("Id");

            await generator.NextAsync(stateEntry, property);

            Assert.Equal(1, stateEntry[property]);
            Assert.False(stateEntry.HasTemporaryValue(property));

            await generator.NextAsync(stateEntry, property);

            Assert.Equal(2, stateEntry[property]);
            Assert.False(stateEntry.HasTemporaryValue(property));

            await generator.NextAsync(stateEntry, property);

            Assert.Equal(3, stateEntry[property]);
            Assert.False(stateEntry.HasTemporaryValue(property));

            generator.Next(stateEntry, property);

            Assert.Equal(4, stateEntry[property]);
            Assert.False(stateEntry.HasTemporaryValue(property));

            generator.Next(stateEntry, property);

            Assert.Equal(5, stateEntry[property]);
            Assert.False(stateEntry.HasTemporaryValue(property));

            generator.Next(stateEntry, property);

            Assert.Equal(6, stateEntry[property]);
            Assert.False(stateEntry.HasTemporaryValue(property));

            generator = new InMemoryValueGenerator();

            await generator.NextAsync(stateEntry, property);

            Assert.Equal(1, stateEntry[property]);
            Assert.False(stateEntry.HasTemporaryValue(property));

            await generator.NextAsync(stateEntry, property);

            Assert.Equal(2, stateEntry[property]);
            Assert.False(stateEntry.HasTemporaryValue(property));
        }
Example #8
0
        public async Task Creates_values()
        {
            var property = _model.GetEntityType(typeof(AnEntity)).GetProperty("Id");

            var generator = new InMemoryValueGenerator();

            var generatedValue = await generator.NextAsync(property, new DbContextService <DataStoreServices>(() => null));

            Assert.Equal(1, generatedValue.Value);
            Assert.False(generatedValue.IsTemporary);

            generatedValue = await generator.NextAsync(property, new DbContextService <DataStoreServices>(() => null));

            Assert.Equal(2, generatedValue.Value);
            Assert.False(generatedValue.IsTemporary);

            generatedValue = await generator.NextAsync(property, new DbContextService <DataStoreServices>(() => null));

            Assert.Equal(3, generatedValue.Value);
            Assert.False(generatedValue.IsTemporary);

            generatedValue = generator.Next(property, new DbContextService <DataStoreServices>(() => null));

            Assert.Equal(4, generatedValue.Value);
            Assert.False(generatedValue.IsTemporary);

            generatedValue = generator.Next(property, new DbContextService <DataStoreServices>(() => null));

            Assert.Equal(5, generatedValue.Value);
            Assert.False(generatedValue.IsTemporary);

            generatedValue = generator.Next(property, new DbContextService <DataStoreServices>(() => null));

            Assert.Equal(6, generatedValue.Value);
            Assert.False(generatedValue.IsTemporary);

            generator = new InMemoryValueGenerator();

            generatedValue = await generator.NextAsync(property, new DbContextService <DataStoreServices>(() => null));

            Assert.Equal(1, generatedValue.Value);
            Assert.False(generatedValue.IsTemporary);

            generatedValue = await generator.NextAsync(property, new DbContextService <DataStoreServices>(() => null));

            Assert.Equal(2, generatedValue.Value);
            Assert.False(generatedValue.IsTemporary);
        }
        public async Task Creates_values()
        {
            var generator = new InMemoryValueGenerator();

            var propertyMock = new Mock<IProperty>();
            propertyMock.Setup(m => m.PropertyType).Returns(typeof(int));

            Assert.Equal(1, await generator.NextAsync(Mock.Of<StateEntry>(), propertyMock.Object));
            Assert.Equal(2, await generator.NextAsync(Mock.Of<StateEntry>(), propertyMock.Object));
            Assert.Equal(3, await generator.NextAsync(Mock.Of<StateEntry>(), propertyMock.Object));

            Assert.Equal(4, generator.Next(Mock.Of<StateEntry>(), propertyMock.Object));
            Assert.Equal(5, generator.Next(Mock.Of<StateEntry>(), propertyMock.Object));
            Assert.Equal(6, generator.Next(Mock.Of<StateEntry>(), propertyMock.Object));

            generator = new InMemoryValueGenerator();

            Assert.Equal(1, await generator.NextAsync(Mock.Of<StateEntry>(), propertyMock.Object));
            Assert.Equal(2, generator.Next(Mock.Of<StateEntry>(), propertyMock.Object));
        }
        public async Task Creates_values()
        {
            var generator = new InMemoryValueGenerator();

            var propertyMock = new Mock <IProperty>();

            propertyMock.Setup(m => m.PropertyType).Returns(typeof(int));

            Assert.Equal(1, await generator.NextAsync(Mock.Of <StateEntry>(), propertyMock.Object));
            Assert.Equal(2, await generator.NextAsync(Mock.Of <StateEntry>(), propertyMock.Object));
            Assert.Equal(3, await generator.NextAsync(Mock.Of <StateEntry>(), propertyMock.Object));

            Assert.Equal(4, generator.Next(Mock.Of <StateEntry>(), propertyMock.Object));
            Assert.Equal(5, generator.Next(Mock.Of <StateEntry>(), propertyMock.Object));
            Assert.Equal(6, generator.Next(Mock.Of <StateEntry>(), propertyMock.Object));

            generator = new InMemoryValueGenerator();

            Assert.Equal(1, await generator.NextAsync(Mock.Of <StateEntry>(), propertyMock.Object));
            Assert.Equal(2, generator.Next(Mock.Of <StateEntry>(), propertyMock.Object));
        }
Example #11
0
        public async Task Can_create_values_for_all_integer_types()
        {
            var generator = new InMemoryValueGenerator();

            var stateEntry     = TestHelpers.CreateStateEntry <AnEntity>(_model);
            var intProperty    = stateEntry.EntityType.GetProperty("Id");
            var longProperty   = stateEntry.EntityType.GetProperty("Long");
            var shortProperty  = stateEntry.EntityType.GetProperty("Short");
            var byteProperty   = stateEntry.EntityType.GetProperty("Byte");
            var uintProperty   = stateEntry.EntityType.GetProperty("UnsignedInt");
            var ulongProperty  = stateEntry.EntityType.GetProperty("UnsignedLong");
            var ushortProperty = stateEntry.EntityType.GetProperty("UnsignedShort");
            var sbyteProperty  = stateEntry.EntityType.GetProperty("SignedByte");

            await generator.NextAsync(stateEntry, longProperty);

            Assert.Equal(1L, stateEntry[longProperty]);
            Assert.False(stateEntry.HasTemporaryValue(longProperty));

            await generator.NextAsync(stateEntry, intProperty);

            Assert.Equal(2, stateEntry[intProperty]);
            Assert.False(stateEntry.HasTemporaryValue(intProperty));

            await generator.NextAsync(stateEntry, shortProperty);

            Assert.Equal((short)3, stateEntry[shortProperty]);
            Assert.False(stateEntry.HasTemporaryValue(shortProperty));

            await generator.NextAsync(stateEntry, byteProperty);

            Assert.Equal((byte)4, stateEntry[byteProperty]);
            Assert.False(stateEntry.HasTemporaryValue(byteProperty));

            await generator.NextAsync(stateEntry, ulongProperty);

            Assert.Equal((ulong)5, stateEntry[ulongProperty]);
            Assert.False(stateEntry.HasTemporaryValue(ulongProperty));

            await generator.NextAsync(stateEntry, uintProperty);

            Assert.Equal((uint)6, stateEntry[uintProperty]);
            Assert.False(stateEntry.HasTemporaryValue(uintProperty));

            await generator.NextAsync(stateEntry, ushortProperty);

            Assert.Equal((ushort)7, stateEntry[ushortProperty]);
            Assert.False(stateEntry.HasTemporaryValue(ushortProperty));

            await generator.NextAsync(stateEntry, sbyteProperty);

            Assert.Equal((sbyte)8, stateEntry[sbyteProperty]);
            Assert.False(stateEntry.HasTemporaryValue(sbyteProperty));

            generator.Next(stateEntry, longProperty);

            Assert.Equal(9L, stateEntry[longProperty]);
            Assert.False(stateEntry.HasTemporaryValue(longProperty));

            generator.Next(stateEntry, intProperty);

            Assert.Equal(10, stateEntry[intProperty]);
            Assert.False(stateEntry.HasTemporaryValue(intProperty));

            generator.Next(stateEntry, shortProperty);

            Assert.Equal((short)11, stateEntry[shortProperty]);
            Assert.False(stateEntry.HasTemporaryValue(shortProperty));

            generator.Next(stateEntry, byteProperty);

            Assert.Equal((byte)12, stateEntry[byteProperty]);
            Assert.False(stateEntry.HasTemporaryValue(byteProperty));

            generator.Next(stateEntry, ulongProperty);

            Assert.Equal((ulong)13, stateEntry[ulongProperty]);
            Assert.False(stateEntry.HasTemporaryValue(ulongProperty));

            generator.Next(stateEntry, uintProperty);

            Assert.Equal((uint)14, stateEntry[uintProperty]);
            Assert.False(stateEntry.HasTemporaryValue(uintProperty));

            generator.Next(stateEntry, ushortProperty);

            Assert.Equal((ushort)15, stateEntry[ushortProperty]);
            Assert.False(stateEntry.HasTemporaryValue(ushortProperty));

            generator.Next(stateEntry, sbyteProperty);

            Assert.Equal((sbyte)16, stateEntry[sbyteProperty]);
            Assert.False(stateEntry.HasTemporaryValue(sbyteProperty));
        }