public void WhenRegisterJoinedSubclassWithNoRootThenThrows() { var inspector = new ExplicitlyDeclaredModel(); inspector.AddAsTablePerClassEntity(typeof(Inherited1)); Assert.That(() => inspector.IsTablePerClass(typeof(Inherited1)), Throws.TypeOf<MappingException>()); }
public void WhenRegisterJoinedSubclassBeforeRootThenIsRegistered() { var inspector = new ExplicitlyDeclaredModel(); inspector.AddAsTablePerClassEntity(typeof(Inherited1)); inspector.AddAsRootEntity(typeof(MyClass)); inspector.IsTablePerClass(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 WhenRegisteredAsComponetThenCantRegisterAsJoinedSubclass() { var inspector = new ExplicitlyDeclaredModel(); inspector.AddAsComponent(typeof (MyComponent)); Assert.That(() => { inspector.AddAsTablePerClassEntity(typeof (MyComponent)); inspector.IsTablePerClass(typeof (MyComponent)); }, Throws.TypeOf<MappingException>()); }
public void WhenRegisteredAsComponetThenCantRegisterAsJoinedSubclass() { var inspector = new ExplicitlyDeclaredModel(); inspector.AddAsComponent(typeof (MyComponent)); Executing.This(() => { inspector.AddAsTablePerClassEntity(typeof (MyComponent)); inspector.IsTablePerClass(typeof (MyComponent)); }).Should().Throw<MappingException>(); }
public void WhenRegisteredAsJoinedSubclassThenCantRegisterAsUnionSubclass() { var inspector = new ExplicitlyDeclaredModel(); inspector.AddAsRootEntity(typeof (MyClass)); inspector.AddAsTablePerClassEntity(typeof (Inherited1)); Executing.This(() => { inspector.AddAsTablePerConcreteClassEntity(typeof (Inherited1)); inspector.IsTablePerClass(typeof (Inherited1)); }).Should().Throw<MappingException>(); }
public void WhenRegisteredAsJoinedSubclassThenCantRegisterAsUnionSubclass() { var inspector = new ExplicitlyDeclaredModel(); inspector.AddAsRootEntity(typeof (MyClass)); inspector.AddAsTablePerClassEntity(typeof (Inherited1)); Assert.That(() => { inspector.AddAsTablePerConcreteClassEntity(typeof (Inherited1)); inspector.IsTablePerClass(typeof (Inherited1)); }, Throws.TypeOf<MappingException>()); }
public void WhenMultipleRootRegisteredThenThrowsMappingException() { var inspector = new ExplicitlyDeclaredModel(); inspector.AddAsRootEntity(typeof(MyClass)); inspector.AddAsRootEntity(typeof(Inherited1)); Executing.This(()=> { inspector.AddAsTablePerClassEntity(typeof(Inherited2)); inspector.IsTablePerClass(typeof(Inherited2)); }).Should().Throw<MappingException>(); }
public void WhenMultipleRootRegisteredThenThrowsMappingException() { var inspector = new ExplicitlyDeclaredModel(); inspector.AddAsRootEntity(typeof(MyClass)); inspector.AddAsRootEntity(typeof(Inherited1)); Assert.That(()=> { inspector.AddAsTablePerClassEntity(typeof(Inherited2)); inspector.IsTablePerClass(typeof(Inherited2)); }, Throws.TypeOf<MappingException>()); }
bool IModelInspector.IsTablePerClass(System.Type type) { bool declaredResult = declaredModel.IsTablePerClass(type); return(isTablePerClass(type, declaredResult)); }