#develop (short for SharpDevelop) is a free IDE for .NET programming languages.
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

// 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());
}
}
}