public void CorrectlyLogsWarningWhenScriptHasAlreadyBeenExecuted()
{
ConnectionSettings settings = getConnectionSettings();
string scriptFile = @"c:\scripts\Update\01_Test.sql";
MockRepository mocks = new MockRepository();
IScriptExecutionTracker executionTracker = mocks.StrictMock<IScriptExecutionTracker>();
ITaskObserver taskObserver = mocks.StrictMock<ITaskObserver>();
Expect.Call(executionTracker.ScriptAlreadyExecuted(settings, "01_Test.sql")).Return(true);
taskObserver.Log("Skipping (already executed): 01_Test.sql");
mocks.ReplayAll();
IChangeScriptExecutor executor = new ChangeScriptExecutor(executionTracker, null, null);
executor.Execute(scriptFile, settings, taskObserver);
mocks.VerifyAll();
}