Пример #1
0
        public void GetCreateScript_GetDropScript_ValidConnectionString()
        {
            var statement1       = new ScriptStatement("Test1");
            var statement2       = new ScriptStatement("Test2");
            var fakeCreateResult = new ScriptElementCollection();

            fakeCreateResult.AddElement(statement1);
            fakeCreateResult.AddElement(statement2);
            var fakeDropResult = new ScriptElementCollection();

            fakeDropResult.AddElement(statement2);
            fakeDropResult.AddElement(statement1);

            _innerScriptBuilderMock.Expect(mock => mock.GetCreateScript()).Return(fakeCreateResult);
            _innerScriptBuilderMock.Expect(mock => mock.GetDropScript()).Return(fakeDropResult);

            var createScriptResult = _builder.GetCreateScript();
            var dropScriptResult   = _builder.GetDropScript();

            Assert.That(((ScriptElementCollection)createScriptResult).Elements.Count, Is.EqualTo(2));
            Assert.That(((ScriptStatement)((ScriptElementCollection)createScriptResult).Elements[0]).Statement, Is.EqualTo("USE MyDataBase"));
            Assert.That(((ScriptElementCollection)createScriptResult).Elements[1], Is.SameAs(fakeCreateResult));
            Assert.That(((ScriptElementCollection)dropScriptResult).Elements.Count, Is.EqualTo(2));
            Assert.That(((ScriptStatement)((ScriptElementCollection)dropScriptResult).Elements[0]).Statement, Is.EqualTo("USE MyDataBase"));
            Assert.That(((ScriptElementCollection)dropScriptResult).Elements[1], Is.SameAs(fakeDropResult));
        }
Пример #2
0
        public void GetDropScript_WithConnectionStringMissingInitialCatalog_ThrowsInvalidOperationException()
        {
            var builder = new SqlDatabaseSelectionScriptElementBuilder(
                _innerScriptBuilderMock,
                new SqlConnectionStringBuilder {
                DataSource = "localhost"
            }.ToString());

            Assert.That(
                () => builder.GetDropScript(),
                Throws.InvalidOperationException
                .With.Message.EqualTo("No database name could be found in the given connection string 'Data Source=localhost'."));
        }