public void RunScript_GivenGivenBuildConfig_ShouldExecuteAllScriptsInDefaultOrder() { //---------------Set up test pack------------------- var powerShellRunner = new PowerShellRunner(@"Runner"); var serialiser = new PrismaticJsonSerialiser(); var document = GetFile(@"build.json"); var buildConfig = serialiser.Deserialise <DefaultBuildConfig>(document); var defaultBuildIterator = new DefaultBuildIterator(buildConfig); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var scriptResults = powerShellRunner.RunScripts(defaultBuildIterator); //---------------Test Result ----------------------- Assert.IsNotNull(scriptResults); Assert.IsTrue(scriptResults.Any()); Assert.AreEqual("Hello World In before_install!", scriptResults[0].ScriptOutput.Replace(Environment.NewLine, "")); Assert.AreEqual("Hello World In install!", scriptResults[1].ScriptOutput.Replace(Environment.NewLine, "")); Assert.AreEqual("Hello World In before_script!", scriptResults[2].ScriptOutput.Replace(Environment.NewLine, "")); Assert.AreEqual("Hello World In script!", scriptResults[3].ScriptOutput.Replace(Environment.NewLine, "")); Assert.AreEqual("Hello World In after_success!", scriptResults[4].ScriptOutput.Replace(Environment.NewLine, "")); Assert.AreEqual("Hello World In after_failure!", scriptResults[5].ScriptOutput.Replace(Environment.NewLine, "")); Assert.AreEqual("Hello World In before_deploy!", scriptResults[6].ScriptOutput.Replace(Environment.NewLine, "")); Assert.AreEqual("Hello World In deploy!", scriptResults[7].ScriptOutput.Replace(Environment.NewLine, "")); Assert.AreEqual("Hello World In after_deploy!", scriptResults[8].ScriptOutput.Replace(Environment.NewLine, "")); Assert.AreEqual("Hello World In after_script!", scriptResults[9].ScriptOutput.Replace(Environment.NewLine, "")); }