public void Setup()
{
// Setup default available scripts.
this.availableChangeScriptsProvider = new Mock<IAvailableChangeScriptsProvider>();
this.availableChangeScriptsProvider.Setup(p => p.GetAvailableChangeScripts())
.Returns(new List<ChangeScript>
{
new ChangeScript("1.0", 1),
new ChangeScript("1.0", 2),
new ChangeScript("1.0", 3),
new ChangeScript("1.0", 4),
new ChangeScript("1.1", 1),
new ChangeScript("1.1", 2),
});
// Capture changes that would be run.
this.runScripts = new List<ChangeScript>();
this.doApplier = new Mock<IChangeScriptApplier>();
this.doApplier
.Setup(a => a.Apply(It.IsAny<IEnumerable<ChangeScript>>(), false))
.Callback<IEnumerable<ChangeScript>, bool>((l,b) => this.runScripts = l.ToList());
this.appliedChangesProvider = new Mock<IAppliedChangesProvider>();
var undoApplier = new Mock<IChangeScriptApplier>();
this.output = new StringBuilder();
this.controller = new Controller(this.availableChangeScriptsProvider.Object, this.appliedChangesProvider.Object, this.doApplier.Object, undoApplier.Object, false, new StringWriter(this.output));
}