public TableDefinitionInterrogationStrategy GetTableDefinitionInterrogationStrategy(TableDefinitionInterrogationStrategyType strategyType) { switch (strategyType) { case TableDefinitionInterrogationStrategyType.DataReaderSchema: return new DataReaderSchemaTableDefinitionInterrogationStrategy(connectionString); case TableDefinitionInterrogationStrategyType.SystemTables: return new SystemTablesTableDefinitionInterrogationStrategy(connectionString); default: throw new ArgumentException("Invalid strategy type", "strategy type"); } }
private TableDefinition GetDefinition(DatabaseObjectName tableName, TableDefinitionInterrogationStrategyType strategyType) { var factory = new TableDefinitionInterrogationStrategyFactory(connectionString); var strategy = factory.GetTableDefinitionInterrogationStrategy(strategyType); return strategy.GetTableDefinition(tableName); }
public void VerifyMatchOrSubset(TableDefinition expected, TableDefinitionInterrogationStrategyType strategyType = TableDefinitionInterrogationStrategyType.DataReaderSchema) { expected.VerifyEqualOrSubsetOf(GetDefinition(expected.Name, strategyType)); }