public void GenerateQueryWithManyToOneSingleProperties() { var Mappings = new MappingSource(new IMapping[] { new ManyToOneOnePropertiesMapping(), new ManyToOneManyPropertiesMapping() }, new MockDatabaseMapping(), new QueryProviderManager(new[] { new SQLServerQueryProvider(Configuration, ObjectPool) }, Logger), Canister.Builder.Bootstrapper.Resolve <ILogger>(), ObjectPool); var ManyToOneOneProperty = Mappings.Mappings[typeof(ManyToOneOneProperties)].ManyToOneProperties[0]; var TempDataModel = new Inflatable.Schema.DataModel(Mappings, Configuration, Logger, DataModeler, Sherlock, Helper); ManyToOneOneProperty.Setup(Mappings, TempDataModel.SourceSpec); var TestObject = new DataLoadQuery <ManyToOneOneProperties>(Mappings, ObjectPool); var TempManyToOneOne = new ManyToOneOneProperties { ID = 10, BoolValue = true }; TempManyToOneOne.ManyToOneClass = new ManyToOneManyProperties { ID = 1 }; var Result = TestObject.GenerateQueries(new Dynamo[] { new Dynamo(new { ID = 1 }) })[0]; Assert.Equal(CommandType.Text, Result.DatabaseCommandType); Assert.Single(Result.Parameters); Assert.Equal(1, Result.Parameters[0].InternalValue); Assert.Equal("ID0", Result.Parameters[0].ID); Assert.Equal("SELECT [dbo].[ManyToOneOneProperties_].[ID_] AS [ID],[dbo].[ManyToOneOneProperties_].[BoolValue_] AS [BoolValue]\r\nFROM [dbo].[ManyToOneOneProperties_]\r\nWHERE ([dbo].[ManyToOneOneProperties_].[ID_]=@ID0);", Result.QueryString); Assert.Equal(QueryType.LoadData, Result.QueryType); }
public void GenerateQuery() { var Mappings = new MappingSource(new IMapping[] { new BaseClass1Mapping(), new ConcreteClass1Mapping(), new ConcreteClass2Mapping(), new ConcreteClass3Mapping(), new IInterface1Mapping(), new IInterface2Mapping() }, new MockDatabaseMapping(), new QueryProviderManager(new[] { new SQLServerQueryProvider(Configuration, ObjectPool) }, Logger), Canister.Builder.Bootstrapper.Resolve <ILogger>(), ObjectPool); var TestObject = new DataLoadQuery <ConcreteClass1>(Mappings, ObjectPool); var Result = TestObject.GenerateQueries(new Dynamo[] { DynamoFactory.Create(new { ID = 1 }) })[0]; Assert.Equal(CommandType.Text, Result.DatabaseCommandType); Assert.Single(Result.Parameters); Assert.Equal(1, Result.Parameters[0].InternalValue); Assert.Equal("SELECT [dbo].[IInterface1_].[ID_] AS [ID],[dbo].[BaseClass1_].[BaseClassValue1_] AS [BaseClassValue1],[dbo].[ConcreteClass1_].[Value1_] AS [Value1]\r\nFROM [dbo].[ConcreteClass1_]\r\nINNER JOIN [dbo].[BaseClass1_] ON [dbo].[ConcreteClass1_].[BaseClass1_ID_]=[dbo].[BaseClass1_].[ID_]\r\nINNER JOIN [dbo].[IInterface1_] ON [dbo].[BaseClass1_].[IInterface1_ID_]=[dbo].[IInterface1_].[ID_]\r\nWHERE ([dbo].[IInterface1_].[ID_]=@ID0);", Result.QueryString); Assert.Equal(QueryType.LoadData, Result.QueryType); }
public void GenerateQueryWithMapToSelfOnInterface() { var Mappings = new MappingSource(new IMapping[] { new MapPropertiesWithMapOnInterfaceMapping(), new IMapPropertiesInterfaceWithMapMapping() }, new MockDatabaseMapping(), new QueryProviderManager(new[] { new SQLServerQueryProvider(Configuration, ObjectPool) }, Logger), Canister.Builder.Bootstrapper.Resolve <ILogger>(), ObjectPool); var MapProperty = Mappings.Mappings[typeof(IMapPropertiesInterfaceWithMap)].MapProperties[0]; MapProperty.Setup(Mappings); var TestObject = new DataLoadQuery <MapPropertiesWithMapOnInterface>(Mappings, ObjectPool); var Result = TestObject.GenerateQueries(new Dynamo[] { new Dynamo(new { ID = 1 }) })[0]; Assert.Equal(CommandType.Text, Result.DatabaseCommandType); Assert.Single(Result.Parameters); Assert.Equal(1, Result.Parameters[0].InternalValue); Assert.Equal("ID0", Result.Parameters[0].ID); Assert.Equal("SELECT [dbo].[IMapPropertiesInterfaceWithMap_].[ID_] AS [ID],[dbo].[MapPropertiesWithMapOnInterface_].[BoolValue_] AS [BoolValue]\r\nFROM [dbo].[MapPropertiesWithMapOnInterface_]\r\nINNER JOIN [dbo].[IMapPropertiesInterfaceWithMap_] ON [dbo].[MapPropertiesWithMapOnInterface_].[IMapPropertiesInterfaceWithMap_ID_]=[dbo].[IMapPropertiesInterfaceWithMap_].[ID_]\r\nWHERE ([dbo].[IMapPropertiesInterfaceWithMap_].[ID_]=@ID0);", Result.QueryString); Assert.Equal(QueryType.LoadData, Result.QueryType); }