Ejemplo n.º 1
0
        public void AutodetectsKey()
        {
            var type = EntityTypes.Register <KeyClass>();

            var property = type.GetProperty <KeyClass>(c => c.Id);

            Assert.Equal(true, property.IsKey);
        }
Ejemplo n.º 2
0
        public void SetsSingularNamesProperly()
        {
            var type = EntityTypes.Register <Student>(et => {
                et.Singular();
            });

            Assert.Equal("Student", type.Name);
        }
Ejemplo n.º 3
0
        public void MarksNumericKeys()
        {
            var type = EntityTypes.Register <KeyClass>();

            var property = type.GetProperty <KeyClass>(c => c.Id);

            Assert.Equal(true, property.IsNumeric);
        }
Ejemplo n.º 4
0
        public void MarksIdentityKeyAsNotUpdatable()
        {
            var type = EntityTypes.Register <KeyClass>();

            var property = type.GetProperty <KeyClass>(c => c.Id);

            Assert.Equal(false, property.IsUpdatable);
        }
Ejemplo n.º 5
0
        public void DoesNotMarkNonNumericPropertiesAsNumeric()
        {
            var type = EntityTypes.Register <TestClass>();

            var property = type.GetProperty <TestClass>(c => c.Name);

            Assert.Equal(false, property.IsNumeric);
        }
Ejemplo n.º 6
0
        public void AliasesTableNames()
        {
            var type = EntityTypes.Register <Teachers>(et => {
                et.AliasTable("Professors");
            });

            Assert.Equal("Professors", type.Name);
        }
Ejemplo n.º 7
0
        public void MarksKeyAsSelectable()
        {
            var type = EntityTypes.Register <KeyClass>();

            var property = type.GetProperty <KeyClass>(c => c.Id);

            Assert.Equal(true, property.IsSelectable);
        }
            public TestClassTests()
            {
                var simpleClassType = EntityTypes.Register <TestClass>();

                _idProperty   = simpleClassType.GetProperty <TestClass>(t => t.Id);
                _nameProperty = simpleClassType.GetProperty <TestClass>(t => t.Name);

                _queryGenerator = new SqlServerGenerator();
            }
Ejemplo n.º 9
0
            public void SetterSetsProperty()
            {
                var type       = EntityTypes.Register <TestClass>();
                var idProperty = type.GetProperty <TestClass>(t => t.Id);
                var test       = new TestClass();

                idProperty.Setter(test, 1);

                Assert.Equal(test.Id, 1);
            }
Ejemplo n.º 10
0
            public void GetterReturnsProperty()
            {
                var type       = EntityTypes.Register <TestClass>();
                var idProperty = type.GetProperty <TestClass>(t => t.Id);
                var test       = new TestClass {
                    Id = 1
                };

                Assert.Equal(idProperty.Getter(test), 1);
            }
Ejemplo n.º 11
0
        public void DoesNotMarkNonIdentityRegisteredKeysAsIdentity()
        {
            var type = EntityTypes.Register <KeyClass>(t => {
                t.Key(c => c.Id, false);
            });

            var property = type.GetProperty <KeyClass>(c => c.Id);

            Assert.Equal(false, property.IsIdentity);
        }
Ejemplo n.º 12
0
        public void MarksRegisteredKeysAsIdentity()
        {
            var type = EntityTypes.Register <KeyClass>(t => {
                t.Key(c => c.Id);
            });

            var property = type.GetProperty <KeyClass>(c => c.Id);

            Assert.Equal(true, property.IsIdentity);
        }
Ejemplo n.º 13
0
        public void MarksPropertiesAsAliased()
        {
            var type = EntityTypes.Register <FluentAliasedColumnsClass>(t => {
                t.Alias(c => c.Name, "ADifferentName");
            });

            var property = type.GetProperty <FluentAliasedColumnsClass>(c => c.Name);

            Assert.Equal(true, property.IsAliased);
        }
            public NonIdentityKeyClassTests()
            {
                var type = EntityTypes.Register <NonIdentityKeyClass>(tr => {
                    tr.Key(t => t.Id, false);
                });

                _idProperty = type.GetProperty <NonIdentityKeyClass>(t => t.Id);

                _queryGenerator = new SqlServerGenerator();
            }
Ejemplo n.º 15
0
        public void AliasesPropertiesToProperValue()
        {
            var type = EntityTypes.Register <FluentAliasedColumnsClass>(t => {
                t.Alias(c => c.Name, "ADifferentName");
            });

            var property = type.GetProperty <FluentAliasedColumnsClass>(c => c.Name);

            Assert.Equal("ADifferentName", property.Name);
        }
Ejemplo n.º 16
0
        public void ThrowsForNullableOnNonNullableProperty()
        {
            var ex = Assert.Throws <Exception>(() => {
                EntityTypes.Register <TestClass>(te => {
                    te.Nullable(t => t.Total);
                });
            });

            Assert.Equal("Cannot set non-nullable property to be nullable: Total", ex.Message);
        }
Ejemplo n.º 17
0
        public void ThrowsForNullableKey()
        {
            var ex = Assert.Throws <Exception>(() => {
                var type = EntityTypes.Register <KeyClass>(t => {
                    t.Key(c => c.Id);
                    t.Ignore(c => c.Id, IgnoreTypeEnum.Select);
                });
            });

            Assert.Equal("Cannot override ignore properties of primary key: Id", ex.Message);
        }
Ejemplo n.º 18
0
        public void ThrowsWhenTryingToIgnoreKey()
        {
            var ex = Assert.Throws <Exception>(() => {
                var type = EntityTypes.Register <KeyClass>(t => {
                    t.Key(c => c.Id);
                    t.Nullable(c => c.Id);
                });
            });

            Assert.Equal("Cannot set primary key to be nullable: Id", ex.Message);
        }
Ejemplo n.º 19
0
        public EntityStoreTests()
        {
            _simpleType  = EntityTypes.Register <TestClass>();
            _aliasedType = EntityTypes.Register <AliasedColumnsClass>(et => {
                et.Alias(t => t.Name, "ADifferentName")
                .Alias(t => t.Description, null);
            });

            _simpleEntityStore  = new EntityStore <TestClass, int>();
            _aliasedEntityStore = new EntityStore <AliasedColumnsClass, int>();
        }
Ejemplo n.º 20
0
        public void DoesNotAliasPropertiesThatAreAliasedToNull()
        {
            var type = EntityTypes.Register <FluentAliasedColumnsClass>(t => {
                t.Alias(c => c.Name, null);
            });

            var property = type.GetProperty <FluentAliasedColumnsClass>(c => c.Name);

            Assert.Equal(false, property.IsAliased);
            Assert.Equal("Name", property.Name);
        }
Ejemplo n.º 21
0
 public PropertyTests()
 {
     _testClassType = EntityTypes.Register <TestClass>(te => {
         te.Key(t => t.Id)
         .Nullable(t => t.Name)
         .Ignore(t => t.Total, IgnoreTypeEnum.Select)
         .Ignore(t => t.Address, IgnoreTypeEnum.Insert)
         .Ignore(t => t.City, IgnoreTypeEnum.Update)
         .Ignore(t => t.State, IgnoreTypeEnum.Writes)
         .Ignore(t => t.Zip, IgnoreTypeEnum.All);
     });
 }
            public AliasedColumnsClassTests()
            {
                var type = EntityTypes.Register <AliasedColumnsClass>(tr => {
                    tr.Alias(t => t.Name, "ADifferentName")
                    .Alias(t => t.Description, null);
                });

                _idProperty          = type.GetProperty <AliasedColumnsClass>(t => t.Id);
                _nameProperty        = type.GetProperty <AliasedColumnsClass>(t => t.Name);
                _descriptionProperty = type.GetProperty <AliasedColumnsClass>(t => t.Description);

                _queryGenerator = new SqlServerGenerator();
            }
            public AliasedTestClassTests()
            {
                var type = EntityTypes.Register <AliasedTestClass>(tr => {
                    tr.AliasTable("TestClasses");
                });

                _table = type.Name;


                _idProperty   = type.GetProperty <AliasedTestClass>(t => t.Id);
                _nameProperty = type.GetProperty <AliasedTestClass>(t => t.Name);

                _queryGenerator = new SqlServerGenerator();
            }
Ejemplo n.º 24
0
            public void ComparerComparesProperty()
            {
                var type       = EntityTypes.Register <TestClass>();
                var idProperty = type.GetProperty <TestClass>(t => t.Id);
                var a          = new TestClass()
                {
                    Id = 1
                };
                var b = new TestClass()
                {
                    Id = 1
                };

                Assert.True(idProperty.Comparer(a, b));

                b.Id = 2;

                Assert.False(idProperty.Comparer(a, b));
            }
Ejemplo n.º 25
0
        public SqliteDbAccessTests()
        {
            var file = GetDbFile();

            if (File.Exists(file))
            {
                File.Delete(file);
            }

            CreateDatabase();

            var conn = GetDbConnection();

            EntityTypes.Register <Manufacturer>();
            EntityTypes.Register <Product>();

            _manufacturerStore = new EntityStore <Manufacturer, int>(conn, new SqliteGenerator());
            _productStore      = new EntityStore <Product, int>(conn, new SqliteGenerator());
        }
Ejemplo n.º 26
0
 public void ThrowsForMissingKey()
 {
     Assert.Throws <MissingPrimaryKeyException>(() => EntityTypes.Register <MissingKeyClass>());
 }
Ejemplo n.º 27
0
        public void IgnoresAlreadyPluralizedNames()
        {
            var type = EntityTypes.Register <Tests>();

            Assert.Equal("Tests", type.Name);
        }
Ejemplo n.º 28
0
        public void PluralizesSingularNames()
        {
            var type = EntityTypes.Register <Student>();

            Assert.Equal("Students", type.Name);
        }