public void HandleNonSubclassableType_UnsubclassableDomainObject() { var nonAbstractClassDefinition = ClassDefinitionObjectMother.CreateClassDefinition(isAbstract: false); _typeDefinitionProviderMock.Stub(stub => stub.GetTypeDefinition(typeof(NonSubclassableDomainObject))).Return(nonAbstractClassDefinition); _participant.HandleNonSubclassableType(typeof(NonSubclassableDomainObject)); }
public void PropertyValue_WithReferenceType_NotAllowed() { var classDefinition = ClassDefinitionObjectMother.CreateClassDefinition("ClassName"); PropertyDefinition propertyDefinition = PropertyDefinitionObjectMother.CreateForFakePropertyInfo(classDefinition, "test", typeof(List <object>)); new PropertyValue(propertyDefinition, null); }
private void StubGetPropertyInterceptors(params IAccessorInterceptor[] accessorInterceptors) { var fakeClassDefinition = ClassDefinitionObjectMother.CreateClassDefinition(); _typeDefinitionProviderMock.Stub(stub => stub.GetTypeDefinition(Arg <Type> .Is.Anything)).Return(fakeClassDefinition); _interceptedPropertyFinderMock.Stub(stub => stub.GetPropertyInterceptors(null, null)).IgnoreArguments().Return(accessorInterceptors); }
public override void SetUp() { base.SetUp(); _classType = typeof(ClassWithRealRelationEndPoints); _classDefinition = ClassDefinitionObjectMother.CreateClassDefinition(classType: _classType); }
public void ClassWithoutBaseClass() { var classDefinition = ClassDefinitionObjectMother.CreateClassDefinition(classType: typeof(BaseOfBaseValidationDomainObjectClass), storageGroupType: typeof(DBStorageGroupAttribute)); var validationResult = _validationRule.Validate(classDefinition); AssertMappingValidationResult(validationResult, true, null); }
private ClassDefinition CreateClassDefinition(IStorageEntityDefinition entityDefinition) { var classDefinition = ClassDefinitionObjectMother.CreateClassDefinition(classType: typeof(Order), baseClass: null); classDefinition.SetStorageEntity(entityDefinition); return(classDefinition); }
public override void SetUp() { base.SetUp(); _provider = new RdbmsPersistenceModelProvider(); _classDefinition = ClassDefinitionObjectMother.CreateClassDefinition("Order", typeof(Order)); }
public void HandleNonSubclassableType_AbstractDomainObject() { var abstractClassDefinition = ClassDefinitionObjectMother.CreateClassDefinition(isAbstract: true); _typeDefinitionProviderMock.Stub(stub => stub.GetTypeDefinition(_proxyTypeAssemblyContext.RequestedType)).Return(abstractClassDefinition); Assert.That(() => _participant.HandleNonSubclassableType(_proxyTypeAssemblyContext.RequestedType), Throws.Nothing); }
public void SetUp() { _validtionRule = new MappingAttributesAreSupportedForPropertyTypeValidationRule(); _validType = typeof(ClassWithValidPropertyAttributes); _invalidType = typeof(ClassWithInvalidPropertyAttributes); _classDefinition = ClassDefinitionObjectMother.CreateClassDefinition(classType: _validType); }
public void SetUp() { _validationRule = new RelationEndPointTypesAreConsistentValidationRule(); _baseClassDefinition1 = ClassDefinitionObjectMother.CreateClassDefinition("BaseRelationEndPointPropertyClass1", typeof(BaseRelationEndPointPropertyClass1)); _baseClassDefinition2 = ClassDefinitionObjectMother.CreateClassDefinition("BaseRelationEndPointPropertyClass2", typeof(BaseRelationEndPointPropertyClass2)); _derivedClassDefinition1 = ClassDefinitionObjectMother.CreateClassDefinition("DerivedRelationEndPointPropertyClass1", typeof(DerivedRelationEndPointPropertyClass1), baseClass: _baseClassDefinition1); _derivedClassDefinition2 = ClassDefinitionObjectMother.CreateClassDefinition("DerivedRelationEndPointPropertyClass2", typeof(DerivedRelationEndPointPropertyClass2), baseClass: _baseClassDefinition2); }
public void GetEntityDefinition_WrongEntityDefinition() { var classDefinition = ClassDefinitionObjectMother.CreateClassDefinition("Order", typeof(Order)); classDefinition.SetStorageEntity(new FakeStorageEntityDefinition(TestDomainStorageProviderDefinition, "Test")); _provider.GetEntityDefinition(classDefinition); }
public void GetTableName_ClassHasDBTableAttributeWithtName_ReturnsAttributeName() { var classDefinition = ClassDefinitionObjectMother.CreateClassDefinition(classType: typeof(ClassHavingStorageSpecificIdentifierAttribute), baseClass: null); var result = _provider.GetTableName(classDefinition).EntityName; Assert.That(result, Is.EqualTo("ClassHavingStorageSpecificIdentifierAttributeTable")); }
public void GetTableName_ClassHasNoDBTableAttribute_ReturnsNull() { var classDefinition = ClassDefinitionObjectMother.CreateClassDefinition(classType: typeof(Folder), baseClass: null); var result = _provider.GetTableName(classDefinition); Assert.That(result, Is.Null); }
private ObjectID CreateObjectID(IStorageEntityDefinition entityDefinition) { var classDefinition = ClassDefinitionObjectMother.CreateClassDefinition(classType: typeof(Order), baseClass: null); classDefinition.SetStorageEntity(entityDefinition); return(new ObjectID(classDefinition, Guid.NewGuid())); }
public void GetEntityDefinition_EmptyViewDefinition() { var classDefinition = ClassDefinitionObjectMother.CreateClassDefinition("Order", classType: typeof(Order), baseClass: null); Assert.That(classDefinition.StorageEntityDefinition, Is.Null); _provider.GetEntityDefinition(classDefinition); }
public void ClassWithBaseClass_ClassesWithoutStorageGroupAttribute() { var baseClassDefinition = ClassDefinitionObjectMother.CreateClassDefinition(classType: typeof(BaseOfBaseValidationDomainObjectClass), storageGroupType: null); var derivedClassDefinition = ClassDefinitionObjectMother.CreateClassDefinition(classType: typeof(BaseOfBaseValidationDomainObjectClass), baseClass: baseClassDefinition, storageGroupType: null); var validationResult = _validationRule.Validate(derivedClassDefinition); AssertMappingValidationResult(validationResult, true, null); }
public void OriginalPropertyDeclaration() { var type = typeof(BaseMappingAttributesClass); var classDefinition = ClassDefinitionObjectMother.CreateClassDefinition(classType: type); var validationResult = _validationRule.Validate(classDefinition).First(); AssertMappingValidationResult(validationResult, true, null); }
public void GetRelationClassIDColumnName() { var classDefinition = ClassDefinitionObjectMother.CreateClassDefinition(classType: typeof(FileSystemItem), baseClass: null); var propertyDefinition = PropertyDefinitionObjectMother.CreateForRealPropertyInfo(classDefinition, typeof(FileSystemItem), "ParentFolder"); var relationDefinition = new RelationEndPointDefinition(propertyDefinition, true); var result = _provider.GetRelationClassIDColumnName(relationDefinition); Assert.That(result, Is.EqualTo("ParentFolderIDClassID")); }
public void Participate_AbstractDomainObject() { var abstractClassDefinition = ClassDefinitionObjectMother.CreateClassDefinition(isAbstract: true); _typeDefinitionProviderMock.Stub(stub => stub.GetTypeDefinition(_proxyTypeAssemblyContext.RequestedType)).Return(abstractClassDefinition); _participant.Participate(null, _proxyTypeAssemblyContext); Assert.That(_proxyType.AddedInterfaces, Has.No.Member(typeof(IInterceptedDomainObject))); }
public void ClassDefinitionTypeIsNoSubClassOfDomainObject() { var classDefinition = ClassDefinitionObjectMother.CreateClassDefinition("String", typeof(string)); var validationResult = _validationRule.Validate(classDefinition); var expectedMessage = "Type 'String' of class 'String' is not assignable to 'DomainObject'.\r\n\r\nDeclaring type: System.String"; AssertMappingValidationResult(validationResult, false, expectedMessage); }
public void SetUp() { _validationRule = new ClassAboveTableIsAbstractValidationRule(); _abstractClassDefinition = ClassDefinitionObjectMother.CreateClassDefinition(classType: typeof(DerivedValidationDomainObjectClass), isAbstract: true); _concreteClassDefinition = ClassDefinitionObjectMother.CreateClassDefinition(classType: typeof(DerivedValidationDomainObjectClass), isAbstract: false); var storageProviderDefinition = new UnitTestStorageProviderStubDefinition("DefaultStorageProvider"); _tableDefinition = TableDefinitionObjectMother.Create(storageProviderDefinition, new EntityNameDefinition(null, "TableName")); _unionViewDefinition = UnionViewDefinitionObjectMother.Create(storageProviderDefinition); _emptyViewDefinition = EmptyViewDefinitionObjectMother.Create(storageProviderDefinition); }
public void ClassDefinitionWithBaseClass_ClassTypeIsDerivedFromBaseClassType() { var baseType = typeof(BaseOfBaseValidationDomainObjectClass); var baseClassDefinition = ClassDefinitionObjectMother.CreateClassDefinition(classType: baseType); var derivedType = typeof(BaseValidationDomainObjectClass); var classDefinition = ClassDefinitionObjectMother.CreateClassDefinition(classType: derivedType, baseClass: baseClassDefinition); var validationResult = _validationRule.Validate(classDefinition); AssertMappingValidationResult(validationResult, true, null); }
public void GetColumnName_PropertyWithIStorageSpecificIdentifierAttribute_ReturnsNameFromAttribute() { var classWithAllDataTypesDefinition = ClassDefinitionObjectMother.CreateClassDefinition(classType: typeof(ClassWithAllDataTypes), baseClass: null); var propertyDefinition = PropertyDefinitionObjectMother.CreateForRealPropertyInfo( classWithAllDataTypesDefinition, typeof(ClassWithAllDataTypes), "BooleanProperty"); var result = _provider.GetColumnName(propertyDefinition); Assert.That(result, Is.EqualTo("Boolean")); }
public void GetStorageProviderDefinition_NoStorageEntity() { var classDefinition = ClassDefinitionObjectMother.CreateClassDefinition(classType: typeof(Order), baseClass: null); Assert.That( () => _finder.GetStorageProviderDefinition(classDefinition, null), Throws.InvalidOperationException.With.Message.EqualTo("Cannot obtain storage provider for ClassDefinitions without storage entities. ")); Assert.That( () => _finder.GetStorageProviderDefinition(classDefinition, "Context"), Throws.InvalidOperationException.With.Message.EqualTo("Cannot obtain storage provider for ClassDefinitions without storage entities. Context")); }
public void GetRelationColumnName_PropertyWithIStorageSpecificIdentifierAttribute_ReturnsNameFromAttribute() { var classDefinition = ClassDefinitionObjectMother.CreateClassDefinition(classType: typeof(FileSystemItem), baseClass: null); var propertyDefinition = PropertyDefinitionObjectMother.CreateForRealPropertyInfo(classDefinition, typeof(FileSystemItem), "ParentFolder2"); var relationDefinition = new RelationEndPointDefinition(propertyDefinition, true); var result = _provider.GetRelationColumnName(relationDefinition); Assert.That(result, Is.EqualTo("ParentFolderRelation")); }
public void GetColumnName_PropertyWithoutIStorageSpecificIdentifierAttribute_ReturnsPropertyName() { var classDefinition = ClassDefinitionObjectMother.CreateClassDefinition(classType: typeof(Distributor), baseClass: null); classDefinition.SetRelationEndPointDefinitions(new RelationEndPointDefinitionCollection()); var propertyDefinition = PropertyDefinitionObjectMother.CreateForRealPropertyInfo(classDefinition, typeof(Distributor), "NumberOfShops"); var result = _provider.GetColumnName(propertyDefinition); Assert.That(result, Is.EqualTo("NumberOfShops")); }
public void GetStoragePropertiesForHierarchy_NonPersistentPropertiesAreFiltered() { var classDefinition = ClassDefinitionObjectMother.CreateClassDefinition(classType: typeof(Order), baseClass: null); var nonPersistentProperty = PropertyDefinitionObjectMother.CreateForFakePropertyInfo(classDefinition, "NonPersistentProperty", StorageClass.None); classDefinition.SetPropertyDefinitions(new PropertyDefinitionCollection(new[] { nonPersistentProperty }, true)); classDefinition.SetDerivedClasses(new ClassDefinition[0]); var properties = _resolver.GetStoragePropertiesForHierarchy(classDefinition).ToArray(); Assert.That(properties, Is.Empty); }
public void SetUp() { _validationRule = new ColumnNamesAreUniqueWithinInheritanceTreeValidationRule(new RdbmsPersistenceModelProvider()); _baseOfBaseClass = ClassDefinitionObjectMother.CreateClassDefinition(classType: typeof(BaseOfBaseValidationDomainObjectClass)); _derivedBaseClass1 = ClassDefinitionObjectMother.CreateClassDefinition(classType: typeof(BaseValidationDomainObjectClass), baseClass: _baseOfBaseClass); _derivedBaseClass2 = ClassDefinitionObjectMother.CreateClassDefinition(classType: typeof(DerivedValidationDomainObjectClass), baseClass: _derivedBaseClass1); _derivedClass = ClassDefinitionObjectMother.CreateClassDefinition(classType: typeof(OtherDerivedValidationHierarchyClass), baseClass: _baseOfBaseClass); _baseOfBaseClass.SetDerivedClasses(new[] { _derivedBaseClass1, _derivedClass }); _derivedBaseClass1.SetDerivedClasses(new[] { _derivedBaseClass2 }); _derivedBaseClass2.SetDerivedClasses(new ClassDefinition[0]); _derivedClass.SetDerivedClasses(new ClassDefinition[0]); }
private PropertyDefinition CreatePropertyDefinition(Type propertyType, bool isNullable, int?maxLength = null) { var classDefinition = ClassDefinitionObjectMother.CreateClassDefinition(); return(PropertyDefinitionObjectMother.CreateForFakePropertyInfo( classDefinition, "Name", false, propertyType, isNullable, maxLength, StorageClass.Persistent)); }
public void SetUp() { _classDefinition1 = ClassDefinitionObjectMother.CreateClassDefinition(classType: typeof(DerivedValidationDomainObjectClass)); _classDefinition2 = ClassDefinitionObjectMother.CreateClassDefinition(classType: typeof(DerivedValidationDomainObjectClass)); _classDefinition3 = ClassDefinitionObjectMother.CreateClassDefinition(classType: typeof(DerivedValidationDomainObjectClass)); _validationRuleMock1 = MockRepository.GenerateStrictMock <IClassDefinitionValidationRule> (); _validationRuleMock2 = MockRepository.GenerateStrictMock <IClassDefinitionValidationRule> (); _validationRuleMock3 = MockRepository.GenerateStrictMock <IClassDefinitionValidationRule> (); _fakeValidMappingValidationResult = MappingValidationResult.CreateValidResult(); _fakeInvalidMappingValidationResult = MappingValidationResult.CreateInvalidResult("Test"); }