public void For_atomic_operations_transaction_is_used()
        {
            DatabaseServer databaseServer = CreateDBServer();

            _siqualConnectionManager.Expect(x => x.CreateConnectionFor(null)).IgnoreArguments().Return(_siqualConnection);
            _siqualConnection.Expect(x => x.BeginTransaction()).IgnoreArguments();
            _siqualConnection.Expect(x => x.Commit()).IgnoreArguments();

            IScriptRunner scriptRunner = new ScriptRunner(_siqualConnectionManager);

            IList<SiqualFile> fileList = GetFiles();

            scriptRunner.RunScriptsAtomic(databaseServer, fileList);

            _siqualConnectionManager.VerifyAllExpectations();
        }
        public void After_script_ran_file_status_is_set()
        {
            DatabaseServer databaseServer = CreateDBServer();

            _siqualConnectionManager.Expect(x => x.CreateConnectionFor(null)).IgnoreArguments().Return(new SiqualConnection(databaseServer));
            IScriptRunner scriptRunner = new ScriptRunner(_siqualConnectionManager);

            IList<SiqualFile> fileList = GetFiles();

            scriptRunner.RunScripts(databaseServer, fileList);

            _siqualConnectionManager.VerifyAllExpectations();
            foreach (SiqualFile file in fileList)
            {
                Assert.That(file.FileStatuses.Count, Is.Not.EqualTo(0));
                FileStatus fileStatus = file.FileStatuses.FirstOrDefault(f => f.RanFor == databaseServer);

                Assert.That(fileStatus, Is.Not.Null);
                Assert.That(fileStatus.RunTime, Is.Not.Null);
            }
        }