public void AutodetectsKey() { var type = EntityTypes.Register <KeyClass>(); var property = type.GetProperty <KeyClass>(c => c.Id); Assert.Equal(true, property.IsKey); }
public void SetsSingularNamesProperly() { var type = EntityTypes.Register <Student>(et => { et.Singular(); }); Assert.Equal("Student", type.Name); }
public void MarksNumericKeys() { var type = EntityTypes.Register <KeyClass>(); var property = type.GetProperty <KeyClass>(c => c.Id); Assert.Equal(true, property.IsNumeric); }
public void MarksIdentityKeyAsNotUpdatable() { var type = EntityTypes.Register <KeyClass>(); var property = type.GetProperty <KeyClass>(c => c.Id); Assert.Equal(false, property.IsUpdatable); }
public void DoesNotMarkNonNumericPropertiesAsNumeric() { var type = EntityTypes.Register <TestClass>(); var property = type.GetProperty <TestClass>(c => c.Name); Assert.Equal(false, property.IsNumeric); }
public void AliasesTableNames() { var type = EntityTypes.Register <Teachers>(et => { et.AliasTable("Professors"); }); Assert.Equal("Professors", type.Name); }
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(); }
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); }
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); }
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); }
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); }
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(); }
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); }
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); }
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); }
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); }
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>(); }
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); }
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(); }
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)); }
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()); }
public void ThrowsForMissingKey() { Assert.Throws <MissingPrimaryKeyException>(() => EntityTypes.Register <MissingKeyClass>()); }
public void IgnoresAlreadyPluralizedNames() { var type = EntityTypes.Register <Tests>(); Assert.Equal("Tests", type.Name); }
public void PluralizesSingularNames() { var type = EntityTypes.Register <Student>(); Assert.Equal("Students", type.Name); }