示例#1
0
        public void Create_DefaultSchema()
        {
            var tableDefinition = TableDefinitionObjectMother.Create(TestDomainStorageProviderDefinition, new EntityNameDefinition(null, "Table"));
            var builder         = new InsertDbCommandBuilder(tableDefinition, _insertedColumnsSpecificationStub, _sqlDialectStub);

            _sqlDialectStub.Stub(stub => stub.DelimitIdentifier("Table")).Return("[delimited Table]");

            _insertedColumnsSpecificationStub
            .Stub(stub => stub.AppendColumnNames(Arg <StringBuilder> .Is.Anything, Arg.Is(_dbCommandStub), Arg.Is(_sqlDialectStub)))
            .WhenCalled(mi => ((StringBuilder)mi.Arguments[0]).Append("[Column1], [Column2], [Column3]"));
            _insertedColumnsSpecificationStub
            .Stub(stub => stub.AppendColumnValues(Arg <StringBuilder> .Is.Anything, Arg.Is(_dbCommandStub), Arg.Is(_sqlDialectStub)))
            .WhenCalled(mi => ((StringBuilder)mi.Arguments[0]).Append("5, 'test', true"));

            var result = builder.Create(_commandExecutionContextStub);

            Assert.That(result.CommandText, Is.EqualTo("INSERT INTO [delimited Table] ([Column1], [Column2], [Column3]) VALUES (5, 'test', true);"));
        }