public TableDefinition( StorageProviderDefinition storageProviderDefinition, EntityNameDefinition tableName, EntityNameDefinition viewName, ObjectIDStoragePropertyDefinition objectIDProperty, IRdbmsStoragePropertyDefinition timestampProperty, IEnumerable <IRdbmsStoragePropertyDefinition> dataProperties, IEnumerable <ITableConstraintDefinition> constraints, IEnumerable <IIndexDefinition> indexes, IEnumerable <EntityNameDefinition> synonyms) : base( storageProviderDefinition, viewName, objectIDProperty, timestampProperty, dataProperties, indexes, synonyms) { ArgumentUtility.CheckNotNull("tableName", tableName); ArgumentUtility.CheckNotNull("constraints", constraints); _tableName = tableName; _constraints = constraints.ToList().AsReadOnly(); }
public FilterViewDefinition( StorageProviderDefinition storageProviderDefinition, EntityNameDefinition viewName, IRdbmsStorageEntityDefinition baseEntity, IEnumerable <string> classIDs, ObjectIDStoragePropertyDefinition objectIDProperty, IRdbmsStoragePropertyDefinition timestampProperty, IEnumerable <IRdbmsStoragePropertyDefinition> dataProperties, IEnumerable <IIndexDefinition> indexes, IEnumerable <EntityNameDefinition> synonyms) : base( storageProviderDefinition, viewName, objectIDProperty, timestampProperty, dataProperties, indexes, synonyms) { ArgumentUtility.CheckNotNull("baseEntity", baseEntity); ArgumentUtility.CheckNotNull("classIDs", classIDs); var classIDsList = classIDs.ToList().AsReadOnly(); ArgumentUtility.CheckNotNullOrEmpty("classIDs", classIDsList); if (!(baseEntity is TableDefinition || baseEntity is FilterViewDefinition)) { throw new ArgumentException("The base entity must either be a TableDefinition or a FilterViewDefinition.", "baseEntity"); } _baseEntity = baseEntity; _classIDs = classIDsList; }
public override void SetUp() { base.SetUp(); _rdbmsPersistenceModelProvider = new RdbmsPersistenceModelProvider(); _dbCommandBuilderFactoryStrictMock = MockRepository.GenerateStrictMock <IDbCommandBuilderFactory>(); _objectReaderFactoryStrictMock = MockRepository.GenerateStrictMock <IObjectReaderFactory>(); _dbCommandBuilderStub = MockRepository.GenerateStub <IDbCommandBuilder> (); _dataContainerReaderStub = MockRepository.GenerateStub <IObjectReader <DataContainer> > (); _objectIDReaderStub = MockRepository.GenerateStub <IObjectReader <ObjectID> > (); _fakeStorageProviderCommandFactory = MockRepository.GenerateStub <IStorageProviderCommandFactory <IRdbmsProviderCommandExecutionContext> >(); _factory = new RelationLookupCommandFactory( _fakeStorageProviderCommandFactory, _dbCommandBuilderFactoryStrictMock, _rdbmsPersistenceModelProvider, _objectReaderFactoryStrictMock); _tableDefinition = TableDefinitionObjectMother.Create(TestDomainStorageProviderDefinition, new EntityNameDefinition(null, "Table1")); _unionViewDefinition = UnionViewDefinitionObjectMother.Create( TestDomainStorageProviderDefinition, new EntityNameDefinition(null, "ViewName"), _tableDefinition); _foreignKeyValue = CreateObjectID(_tableDefinition); _foreignKeyStoragePropertyDefinitionStrictMock = MockRepository.GenerateStrictMock <IRdbmsStoragePropertyDefinition>(); _fakeComparedColumns = new[] { new ColumnValue(ColumnDefinitionObjectMother.IDColumn, _foreignKeyValue.Value) }; }
public static ColumnDefinition GetSingleColumn(IRdbmsStoragePropertyDefinition rdbmsStoragePropertyDefinition) { var columns = rdbmsStoragePropertyDefinition.GetColumns().ToArray(); Assert.That(columns, Has.Length.EqualTo(1)); return(columns.Single()); }
private void StubPersistenceModelProviderForProperty( Type declaringType, string shortPropertyName, IRdbmsStoragePropertyDefinition storagePropertyDefinitionStub) { var propertyDefinition = GetPropertyDefinition(declaringType, shortPropertyName); _persistenceModelProviderStub.Stub(stub => stub.GetStoragePropertyDefinition(propertyDefinition)).Return(storagePropertyDefinitionStub); }
private void CheckForeignKeyObjectIDStorageProperty( IRdbmsStoragePropertyDefinition result, string expectedValueColumnName, StorageTypeInformation expectedValueColumnStorageTypeInfo, string expectedClassIDColumnName, StorageTypeInformation expectedClassIDStorageTypeInformation) { Assert.That(result, Is.TypeOf(typeof(ObjectIDStoragePropertyDefinition))); var valueProperty = ((ObjectIDStoragePropertyDefinition)result).ValueProperty; var classIDValueProperty = ((ObjectIDStoragePropertyDefinition)result).ClassIDProperty; Assert.That(valueProperty, Is.TypeOf(typeof(SimpleStoragePropertyDefinition))); Assert.That(valueProperty.PropertyType, Is.SameAs(typeof(object))); Assert.That(classIDValueProperty, Is.TypeOf(typeof(SimpleStoragePropertyDefinition))); Assert.That(classIDValueProperty.PropertyType, Is.SameAs(typeof(string))); var valueIDColumn = ((SimpleStoragePropertyDefinition)valueProperty).ColumnDefinition; var classIDColumn = ((SimpleStoragePropertyDefinition)classIDValueProperty).ColumnDefinition; Assert.That(valueIDColumn.Name, Is.EqualTo(expectedValueColumnName)); Assert.That(valueIDColumn.StorageTypeInfo, Is.SameAs(expectedValueColumnStorageTypeInfo)); Assert.That(valueIDColumn.IsPartOfPrimaryKey, Is.False); Assert.That(classIDColumn.Name, Is.EqualTo(expectedClassIDColumnName)); Assert.That(classIDColumn.StorageTypeInfo, Is.SameAs(expectedClassIDStorageTypeInformation)); Assert.That(classIDColumn.IsPartOfPrimaryKey, Is.False); }
public InfrastructureStoragePropertyDefinitionProvider( IStorageTypeInformationProvider storageTypeInformationProvider, IStorageNameProvider storageNameProvider) { ArgumentUtility.CheckNotNull("storageTypeInformationProvider", storageTypeInformationProvider); ArgumentUtility.CheckNotNull("storageNameProvider", storageNameProvider); _idColumnDefinition = new ColumnDefinition( storageNameProvider.GetIDColumnName(), storageTypeInformationProvider.GetStorageTypeForID(false), true); _classIDColumnDefinition = new ColumnDefinition( storageNameProvider.GetClassIDColumnName(), storageTypeInformationProvider.GetStorageTypeForClassID(false), false); _timestampColumnDefinition = new ColumnDefinition( storageNameProvider.GetTimestampColumnName(), storageTypeInformationProvider.GetStorageTypeForTimestamp(false), false); _objectIDStoragePropertyDefinition = new ObjectIDStoragePropertyDefinition( new SimpleStoragePropertyDefinition(typeof(object), _idColumnDefinition), new SimpleStoragePropertyDefinition(typeof(string), _classIDColumnDefinition)); _timestampStoragePropertyDefinition = new SimpleStoragePropertyDefinition(typeof(object), _timestampColumnDefinition); }
private static CompoundStoragePropertyDefinition CreateDefinedCompoundStoragePropertyDefinition( IRdbmsStoragePropertyDefinition propertyA, IRdbmsStoragePropertyDefinition propertyB) { return(new CompoundStoragePropertyDefinition( typeof(int), CreateNestedPropertyInfos(propertyA, propertyB), values => 7)); }
public ObjectIDReader(IRdbmsStoragePropertyDefinition idProperty, IColumnOrdinalProvider columnOrdinalProvider) { ArgumentUtility.CheckNotNull("idProperty", idProperty); ArgumentUtility.CheckNotNull("columnOrdinalProvider", columnOrdinalProvider); _idProperty = idProperty; _columnOrdinalProvider = columnOrdinalProvider; }
public ObjectIDStoragePropertyDefinition(IRdbmsStoragePropertyDefinition valueProperty, IRdbmsStoragePropertyDefinition classIDProperty) { ArgumentUtility.CheckNotNull("valueProperty", valueProperty); ArgumentUtility.CheckNotNull("classIDProperty", classIDProperty); _valueProperty = valueProperty; _classIDProperty = classIDProperty; }
public NestedPropertyInfo(IRdbmsStoragePropertyDefinition storagePropertyDefinition, Func <object, object> valueAccessor) { ArgumentUtility.CheckNotNull("storagePropertyDefinition", storagePropertyDefinition); ArgumentUtility.CheckNotNull("valueAccessor", valueAccessor); _storagePropertyDefinition = storagePropertyDefinition; _valueAccessor = valueAccessor; }
private PropertyDefinition CreatePropertyWithStubbedStorageProperty( ClassDefinition classDefinition, IRdbmsStoragePropertyDefinition storagePropertyDefinition, string propertyName, IPropertyInformation propertyInfo) { PropertyDefinition propertyDefinition = PropertyDefinitionObjectMother.CreateForPropertyInformation(classDefinition, propertyName, propertyInfo); _persistenceModelProviderStub .Stub(stub => stub.GetStoragePropertyDefinition(propertyDefinition)) .Return(storagePropertyDefinition); return(propertyDefinition); }
public override void SetUp() { base.SetUp(); _valuePropertyFactoryMock = MockRepository.GenerateStrictMock <IValueStoragePropertyDefinitionFactory> (); _relationPropertyFactoryMock = MockRepository.GenerateStrictMock <IRelationStoragePropertyDefinitionFactory> (); _factory = new DataStoragePropertyDefinitionFactory(_valuePropertyFactoryMock, _relationPropertyFactoryMock); _fakeStoragePropertyDefinition = MockRepository.GenerateStub <IRdbmsStoragePropertyDefinition>(); }
public TimestampReader( IRdbmsStoragePropertyDefinition idProperty, IRdbmsStoragePropertyDefinition timestampProperty, IColumnOrdinalProvider columnOrdinalProvider) { ArgumentUtility.CheckNotNull("idProperty", idProperty); ArgumentUtility.CheckNotNull("timestampProperty", timestampProperty); ArgumentUtility.CheckNotNull("columnOrdinalProvider", columnOrdinalProvider); _idProperty = idProperty; _timestampProperty = timestampProperty; _columnOrdinalProvider = columnOrdinalProvider; }
private ColumnDefinition GetSingleColumnForLookup(IRdbmsStoragePropertyDefinition storagePropertyDefinition) { var columns = storagePropertyDefinition.GetColumnsForComparison().ToList(); if (columns.Count > 1) { throw new NotSupportedException("Compound-column IDs are not supported by this LINQ provider."); } return(columns.Single()); }
public override void SetUp() { base.SetUp(); _dataReaderStrictMock = MockRepository.GenerateStrictMock <IDataReader>(); _idPropertyStrictMock = MockRepository.GenerateStrictMock <IRdbmsStoragePropertyDefinition> (); _columnOrdinalProviderStub = MockRepository.GenerateStub <IColumnOrdinalProvider>(); _reader = new ObjectIDReader(_idPropertyStrictMock, _columnOrdinalProviderStub); _objectID = new ObjectID("Order", Guid.NewGuid()); }
public override void SetUp() { base.SetUp(); _serializedIDPropertyStub = MockRepository.GenerateStub <IRdbmsStoragePropertyDefinition>(); _serializedObjectIDStoragePropertyDefinition = new SerializedObjectIDStoragePropertyDefinition(_serializedIDPropertyStub); _columnValueProviderStub = MockRepository.GenerateStub <IColumnValueProvider> (); _dbCommandStub = MockRepository.GenerateStub <IDbCommand>(); _dbDataParameterStub = MockRepository.GenerateStub <IDbDataParameter>(); _dbCommandStub.Stub(stub => stub.CreateParameter()).Return(_dbDataParameterStub).Repeat.Once(); _columnDefinition = ColumnDefinitionObjectMother.CreateColumn(); }
public ObjectIDWithoutClassIDStoragePropertyDefinition(IRdbmsStoragePropertyDefinition valueProperty, ClassDefinition classDefinition) { ArgumentUtility.CheckNotNull("valueProperty", valueProperty); ArgumentUtility.CheckNotNull("classDefinition", classDefinition); if (classDefinition.IsAbstract) { throw new ArgumentException("ObjectIDs without ClassIDs cannot have abstract ClassDefinitions.", "classDefinition"); } _valueProperty = valueProperty; _classDefinition = classDefinition; }
public override void SetUp() { base.SetUp(); _dataReaderStrictMock = MockRepository.GenerateStrictMock <IDataReader> (); _idPropertyStrictMock = MockRepository.GenerateStrictMock <IRdbmsStoragePropertyDefinition>(); _timestampStrictMock = MockRepository.GenerateStrictMock <IRdbmsStoragePropertyDefinition>(); _columnOrdinalProviderStub = MockRepository.GenerateStub <IColumnOrdinalProvider>(); _reader = new TimestampReader(_idPropertyStrictMock, _timestampStrictMock, _columnOrdinalProviderStub); _fakeObjectIDResult = new ObjectID(typeof(Order), Guid.NewGuid()); _fakeTimestampResult = new object(); }
private void CheckSimplePropertyDefinition( IRdbmsStoragePropertyDefinition result, Type expectedPropertyType, string expectedColumnName, StorageTypeInformation expectedStorageTypeInformation) { Assert.That(result, Is.TypeOf(typeof(SimpleStoragePropertyDefinition))); Assert.That(result.PropertyType, Is.SameAs(expectedPropertyType)); var column = StoragePropertyDefinitionTestHelper.GetSingleColumn(result); Assert.That(column.Name, Is.EqualTo(expectedColumnName)); Assert.That(column.IsPartOfPrimaryKey, Is.False); Assert.That(column.StorageTypeInfo, Is.SameAs(expectedStorageTypeInformation)); }
public static EmptyViewDefinition Create( StorageProviderDefinition storageProviderDefinition, EntityNameDefinition viewName, ObjectIDStoragePropertyDefinition objectIDProperty, IRdbmsStoragePropertyDefinition timestampProperty, IEnumerable <IRdbmsStoragePropertyDefinition> dataProperties) { return(new EmptyViewDefinition( storageProviderDefinition, viewName, objectIDProperty, timestampProperty, dataProperties, new EntityNameDefinition[0])); }
public override void SetUp() { base.SetUp(); _rdbmsPersistenceModelProviderStub = MockRepository.GenerateStub <IRdbmsPersistenceModelProvider>(); _rdbmsStoragePropertyDefinitionStub = MockRepository.GenerateStub <IRdbmsStoragePropertyDefinition>(); _storageSpecificExpressionResolver = new StorageSpecificExpressionResolver( _rdbmsPersistenceModelProviderStub); _classDefinition = ClassDefinitionObjectMother.CreateClassDefinition(classType: typeof(Order)); _classDefinition.SetStorageEntity( TableDefinitionObjectMother.Create( TestDomainStorageProviderDefinition, new EntityNameDefinition(null, "Order"), new EntityNameDefinition(null, "OrderView"))); }
public override void SetUp() { base.SetUp(); _classDefinition = DomainObjectIDs.Order1.ClassDefinition; _valueColumnDefinition = ColumnDefinitionObjectMother.CreateColumn(); _valuePropertyStub = MockRepository.GenerateStub <IRdbmsStoragePropertyDefinition>(); _objectIDWithoutClassIDStoragePropertyDefinition = new ObjectIDWithoutClassIDStoragePropertyDefinition( _valuePropertyStub, _classDefinition); _columnValueProviderStub = MockRepository.GenerateStub <IColumnValueProvider> (); _dbCommandStub = MockRepository.GenerateStub <IDbCommand>(); _dbDataParameterStub = MockRepository.GenerateStub <IDbDataParameter>(); _dbCommandStub.Stub(stub => stub.CreateParameter()).Return(_dbDataParameterStub).Repeat.Once(); }
public TestableRdbmsStorageEntityDefinitionBase( StorageProviderDefinition storageProviderDefinition, EntityNameDefinition viewName, ObjectIDStoragePropertyDefinition idProperty, IRdbmsStoragePropertyDefinition timestampProperty, IEnumerable <IRdbmsStoragePropertyDefinition> dataProperties, IEnumerable <IIndexDefinition> indexes, IEnumerable <EntityNameDefinition> synonyms) : base( storageProviderDefinition, viewName, idProperty, timestampProperty, dataProperties, indexes, synonyms) { }
public DataContainerReader( IRdbmsStoragePropertyDefinition idProperty, IRdbmsStoragePropertyDefinition timestampProperty, IColumnOrdinalProvider ordinalProvider, IRdbmsPersistenceModelProvider persistenceModelProvider, IDataContainerValidator dataContainerValidator) { ArgumentUtility.CheckNotNull("idProperty", idProperty); ArgumentUtility.CheckNotNull("timestampProperty", timestampProperty); ArgumentUtility.CheckNotNull("ordinalProvider", ordinalProvider); ArgumentUtility.CheckNotNull("persistenceModelProvider", persistenceModelProvider); ArgumentUtility.CheckNotNull("dataContainerValidator", dataContainerValidator); _idProperty = idProperty; _timestampProperty = timestampProperty; _ordinalProvider = ordinalProvider; _persistenceModelProvider = persistenceModelProvider; _dataContainerValidator = dataContainerValidator; }
public void SetUp() { var storageTypeInformation = StorageTypeInformationObjectMother.CreateStorageTypeInformation(); _columnDefinition1 = ColumnDefinitionObjectMother.CreateColumn(storageTypeInformation: storageTypeInformation); _columnDefinition2 = ColumnDefinitionObjectMother.CreateColumn(storageTypeInformation: storageTypeInformation); _columnDefinition3 = ColumnDefinitionObjectMother.CreateColumn(storageTypeInformation: storageTypeInformation); _property1Stub = MockRepository.GenerateStub <IRdbmsStoragePropertyDefinition>(); _property2Stub = MockRepository.GenerateStub <IRdbmsStoragePropertyDefinition>(); _property3Stub = MockRepository.GenerateStub <IRdbmsStoragePropertyDefinition>(); _yearProperty = new CompoundStoragePropertyDefinition.NestedPropertyInfo(_property1Stub, o => ((DateTime)o).Year); _monthProperty = new CompoundStoragePropertyDefinition.NestedPropertyInfo(_property2Stub, o => ((DateTime)o).Month); _dayProperty = new CompoundStoragePropertyDefinition.NestedPropertyInfo(_property3Stub, o => ((DateTime)o).Day); _compoundStoragePropertyDefinition = new CompoundStoragePropertyDefinition( typeof(DateTime), new[] { _yearProperty, _monthProperty, _dayProperty }, objects => new DateTime((int)objects[0], (int)objects[1], (int)objects[2])); }
public UnionViewDefinition( StorageProviderDefinition storageProviderDefinition, EntityNameDefinition viewName, IEnumerable <IRdbmsStorageEntityDefinition> unionedEntities, ObjectIDStoragePropertyDefinition objectIDProperty, IRdbmsStoragePropertyDefinition timestampProperty, IEnumerable <IRdbmsStoragePropertyDefinition> dataProperties, IEnumerable <IIndexDefinition> indexes, IEnumerable <EntityNameDefinition> synonyms) : base( storageProviderDefinition, viewName, objectIDProperty, timestampProperty, dataProperties, indexes, synonyms) { ArgumentUtility.CheckNotNull("unionedEntities", unionedEntities); var unionedEntitiesList = unionedEntities.ToList().AsReadOnly(); ArgumentUtility.CheckNotEmpty("unionedEntities", unionedEntitiesList); for (int i = 0; i < unionedEntitiesList.Count; ++i) { var unionedEntity = unionedEntitiesList[i]; if (!(unionedEntity is TableDefinition || unionedEntity is UnionViewDefinition)) { throw new ArgumentException( string.Format( "Item {0} is of type '{1}', but the unioned entities must either be a TableDefinitions or UnionViewDefinitions.", i, unionedEntity.GetType()), "unionedEntities"); } } _unionedEntities = unionedEntitiesList; }
public override void SetUp() { base.SetUp(); _dataReaderStrictMock = MockRepository.GenerateStrictMock <IDataReader>(); _idPropertyStrictMock = MockRepository.GenerateStrictMock <IRdbmsStoragePropertyDefinition>(); _timestampPropertyStrictMock = MockRepository.GenerateStrictMock <IRdbmsStoragePropertyDefinition>(); _fileNamePropertyStrictMock = MockRepository.GenerateStrictMock <IRdbmsStoragePropertyDefinition> (); _orderPropertyStrictMock = MockRepository.GenerateStrictMock <IRdbmsStoragePropertyDefinition> (); _ordinalProviderStub = MockRepository.GenerateStub <IColumnOrdinalProvider>(); _persistenceModelProviderStub = MockRepository.GenerateStub <IRdbmsPersistenceModelProvider>(); _dataContainerValidatorStub = MockRepository.GenerateStub <IDataContainerValidator>(); _dataContainerReader = new DataContainerReader( _idPropertyStrictMock, _timestampPropertyStrictMock, _ordinalProviderStub, _persistenceModelProviderStub, _dataContainerValidatorStub); _fakeTimestamp = new object(); }
protected RdbmsStorageEntityDefinitionBase( StorageProviderDefinition storageProviderDefinition, EntityNameDefinition viewName, ObjectIDStoragePropertyDefinition objectIDProperty, IRdbmsStoragePropertyDefinition timestampProperty, IEnumerable <IRdbmsStoragePropertyDefinition> dataProperties, IEnumerable <IIndexDefinition> indexes, IEnumerable <EntityNameDefinition> synonyms) { ArgumentUtility.CheckNotNull("storageProviderDefinition", storageProviderDefinition); ArgumentUtility.CheckNotNull("objectIDProperty", objectIDProperty); ArgumentUtility.CheckNotNull("timestampProperty", timestampProperty); ArgumentUtility.CheckNotNull("dataProperties", dataProperties); ArgumentUtility.CheckNotNull("synonyms", synonyms); _storageProviderDefinition = storageProviderDefinition; _viewName = viewName; _objectIDProperty = objectIDProperty; _timestampProperty = timestampProperty; _dataProperties = dataProperties.ToList().AsReadOnly(); _indexes = indexes.ToList().AsReadOnly(); _synonyms = synonyms.ToList().AsReadOnly(); }
public SerializedObjectIDStoragePropertyDefinition(IRdbmsStoragePropertyDefinition serializedIDProperty) { ArgumentUtility.CheckNotNull("serializedIDProperty", serializedIDProperty); _serializedIDProperty = serializedIDProperty; }