public void GenerateDeclarations() { 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 InsertQuery <ConcreteClass1>(Mappings, ObjectPool); var Result = TestObject.GenerateDeclarations(); Assert.Equal(CommandType.Text, Result[0].DatabaseCommandType); Assert.Empty(Result[0].Parameters); Assert.Equal("DECLARE @IInterface1_ID_Temp AS INT;", Result[2].QueryString); Assert.Equal(QueryType.Insert, Result[0].QueryType); Assert.Equal(CommandType.Text, Result[1].DatabaseCommandType); Assert.Empty(Result[1].Parameters); Assert.Equal("DECLARE @BaseClass1_ID_Temp AS BIGINT;", Result[1].QueryString); Assert.Equal(QueryType.Insert, Result[1].QueryType); Assert.Equal(CommandType.Text, Result[2].DatabaseCommandType); Assert.Empty(Result[2].Parameters); Assert.Equal("DECLARE @ConcreteClass1_ID_Temp AS BIGINT;", Result[0].QueryString); Assert.Equal(QueryType.Insert, Result[2].QueryType); }