You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
2.2 KiB
95 lines
2.2 KiB
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) |
|
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) |
|
|
|
using System; |
|
using ICSharpCode.PackageManagement.Scripting; |
|
using NUnit.Framework; |
|
using PackageManagement.Cmdlets.Tests.Helpers; |
|
using PackageManagement.Tests.Helpers; |
|
|
|
namespace PackageManagement.Cmdlets.Tests |
|
{ |
|
[TestFixture] |
|
public class InvokeRunPackageScriptsCmdletTests |
|
{ |
|
TestableInvokeRunPackageScriptsCmdlet cmdlet; |
|
FakeCmdletTerminatingError fakeTerminatingError; |
|
PackageScriptsToRun scriptsToRun; |
|
|
|
void CreateCmdlet() |
|
{ |
|
cmdlet = new TestableInvokeRunPackageScriptsCmdlet(); |
|
fakeTerminatingError = cmdlet.FakeCmdletTerminatingError; |
|
scriptsToRun = cmdlet.ScriptsToBeRun; |
|
} |
|
|
|
void RunCmdlet() |
|
{ |
|
cmdlet.CallProcessRecord(); |
|
} |
|
|
|
FakePackageScript AddScript() |
|
{ |
|
var script = new FakePackageScript(); |
|
scriptsToRun.AddScript(script); |
|
return script; |
|
} |
|
|
|
[Test] |
|
public void ProcessRecord_OnePackageScriptToRun_PackageScriptIsRun() |
|
{ |
|
CreateCmdlet(); |
|
FakePackageScript script = AddScript(); |
|
RunCmdlet(); |
|
|
|
bool executed = script.IsExecuted; |
|
|
|
Assert.IsTrue(executed); |
|
} |
|
|
|
[Test] |
|
public void ProcessRecord_TwoPackageScriptsToRun_SecondPackageScriptIsRun() |
|
{ |
|
CreateCmdlet(); |
|
AddScript(); |
|
FakePackageScript script = AddScript(); |
|
RunCmdlet(); |
|
|
|
bool executed = script.IsExecuted; |
|
|
|
Assert.IsTrue(executed); |
|
} |
|
|
|
[Test] |
|
public void ProcessRecord_OnePackageScriptToRun_PackageScriptSessionIsCmdlet() |
|
{ |
|
CreateCmdlet(); |
|
FakePackageScript script = AddScript(); |
|
RunCmdlet(); |
|
|
|
IPackageScriptSession session = script.SessionPassedToExecute; |
|
|
|
Assert.AreEqual(cmdlet, session); |
|
} |
|
|
|
[Test] |
|
public void ProcessRecord_TwoPackageScriptsToRun_TwoPackageScriptSessionIsCmdlet() |
|
{ |
|
CreateCmdlet(); |
|
AddScript(); |
|
FakePackageScript script = AddScript(); |
|
RunCmdlet(); |
|
|
|
IPackageScriptSession session = script.SessionPassedToExecute; |
|
|
|
Assert.AreEqual(cmdlet, session); |
|
} |
|
|
|
[Test] |
|
public void ProcessRecord_NoPackageScriptsToRun_NullReferenceExceptionIsNotThrown() |
|
{ |
|
CreateCmdlet(); |
|
Assert.DoesNotThrow(() => RunCmdlet()); |
|
} |
|
} |
|
}
|
|
|