Exemplo n.º 1
0
        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);
        }