public void WhenRegisterSubclassWithNoRootThenThrows() { var inspector = new ExplicitlyDeclaredModel(); inspector.AddAsTablePerClassHierarchyEntity(typeof(Inherited1)); Assert.That(() => inspector.IsTablePerClassHierarchy(typeof(Inherited1)), Throws.TypeOf<MappingException>()); }
public void WhenRegisterSubclassBeforeRootThenIsRegistered() { var inspector = new ExplicitlyDeclaredModel(); inspector.AddAsTablePerClassHierarchyEntity(typeof(Inherited1)); inspector.AddAsRootEntity(typeof(MyClass)); inspector.IsTablePerClassHierarchy(typeof(Inherited1)).Should().Be.True(); }
public void WhenRegisteredAsRootThenDoesNotRegisterTheStrategy() { var inspector = new ExplicitlyDeclaredModel(); inspector.AddAsRootEntity(typeof(MyClass)); inspector.IsTablePerClass(typeof(MyClass)).Should().Be.False(); inspector.IsTablePerClassHierarchy(typeof(MyClass)).Should().Be.False(); inspector.IsTablePerConcreteClass(typeof(MyClass)).Should().Be.False(); }
public void WhenRegisteredSubclassThenTheStrategyIsDefinedEvenForRoot() { var inspector = new ExplicitlyDeclaredModel(); inspector.AddAsRootEntity(typeof(MyClass)); inspector.AddAsTablePerClassHierarchyEntity(typeof(Inherited1)); inspector.IsTablePerClass(typeof(MyClass)).Should().Be.False(); inspector.IsTablePerClassHierarchy(typeof(MyClass)).Should().Be.True(); inspector.IsTablePerConcreteClass(typeof(MyClass)).Should().Be.False(); }
public void WhenRegisteredJoinedDeepSubclassThenTheStrategyIsDefinedEvenForRoot() { var inspector = new ExplicitlyDeclaredModel(); inspector.AddAsRootEntity(typeof(MyClass)); inspector.AddAsTablePerClassEntity(typeof(Inherited2)); Assert.That(inspector.IsTablePerClass(typeof(MyClass)), Is.True); Assert.That(inspector.IsTablePerClassHierarchy(typeof(MyClass)), Is.False); Assert.That(inspector.IsTablePerConcreteClass(typeof(MyClass)), Is.False); }
public void WhenRegisteredAsDeppJoinedSubclassThenIsRegistered() { var inspector = new ExplicitlyDeclaredModel(); inspector.AddAsRootEntity(typeof(MyClass)); inspector.AddAsTablePerClassEntity(typeof(Inherited2)); inspector.IsTablePerClass(typeof(Inherited2)).Should().Be.True(); inspector.IsTablePerClassHierarchy(typeof(Inherited2)).Should().Be.False(); inspector.IsTablePerConcreteClass(typeof(Inherited2)).Should().Be.False(); }
public void WhenRegisteredAsJoinedSubclassThenIsRegistered() { var inspector = new ExplicitlyDeclaredModel(); inspector.AddAsRootEntity(typeof(MyClass)); inspector.AddAsTablePerClassEntity(typeof(Inherited1)); Assert.That(inspector.IsTablePerClass(typeof(Inherited1)), Is.True); Assert.That(inspector.IsTablePerClassHierarchy(typeof(Inherited1)), Is.False); Assert.That(inspector.IsTablePerConcreteClass(typeof(Inherited1)), Is.False); }
public void WhenRegisteredAsComponetThenCantRegisterAsSubclass() { var inspector = new ExplicitlyDeclaredModel(); inspector.AddAsComponent(typeof (MyComponent)); Assert.That(() => { inspector.AddAsTablePerClassHierarchyEntity(typeof (MyComponent)); inspector.IsTablePerClassHierarchy(typeof (MyComponent)); }, Throws.TypeOf<MappingException>()); }
public void WhenRegisteredAsComponetThenCantRegisterAsSubclass() { var inspector = new ExplicitlyDeclaredModel(); inspector.AddAsComponent(typeof (MyComponent)); Executing.This(() => { inspector.AddAsTablePerClassHierarchyEntity(typeof (MyComponent)); inspector.IsTablePerClassHierarchy(typeof (MyComponent)); }).Should().Throw<MappingException>(); }
public void WhenRegisteredAsSubclassThenCantRegisterAsUnionSubclass() { var inspector = new ExplicitlyDeclaredModel(); inspector.AddAsRootEntity(typeof (MyClass)); inspector.AddAsTablePerClassHierarchyEntity(typeof (Inherited1)); Assert.That(() => { inspector.AddAsTablePerConcreteClassEntity(typeof (Inherited1)); inspector.IsTablePerClassHierarchy(typeof (Inherited1)); }, Throws.TypeOf<MappingException>()); }
public void WhenRegisteredAsSubclassThenCantRegisterAsUnionSubclass() { var inspector = new ExplicitlyDeclaredModel(); inspector.AddAsRootEntity(typeof (MyClass)); inspector.AddAsTablePerClassHierarchyEntity(typeof (Inherited1)); Executing.This(() => { inspector.AddAsTablePerConcreteClassEntity(typeof (Inherited1)); inspector.IsTablePerClassHierarchy(typeof (Inherited1)); }).Should().Throw<MappingException>(); }
private bool MatchTablePerClass(System.Type type) { return(!declaredModel.IsTablePerClassHierarchy(type) && !declaredModel.IsTablePerConcreteClass(type)); }