36 changed files with 481 additions and 74 deletions
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
// 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; |
||||
|
||||
namespace ICSharpCode.PackageManagement |
||||
{ |
||||
public interface IAddPackageReferenceView : IDisposable |
||||
{ |
||||
bool? ShowDialog(); |
||||
} |
||||
} |
@ -0,0 +1,23 @@
@@ -0,0 +1,23 @@
|
||||
// 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 NuGet; |
||||
|
||||
namespace ICSharpCode.PackageManagement |
||||
{ |
||||
public class PackageManagementLogger : ILogger |
||||
{ |
||||
IPackageManagementEvents packageManagementEvents; |
||||
|
||||
public PackageManagementLogger(IPackageManagementEvents packageManagementEvents) |
||||
{ |
||||
this.packageManagementEvents = packageManagementEvents; |
||||
} |
||||
|
||||
public void Log(MessageLevel level, string message, params object[] args) |
||||
{ |
||||
packageManagementEvents.OnPackageOperationMessageLogged(level, message, args); |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,31 @@
@@ -0,0 +1,31 @@
|
||||
// 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 NuGet; |
||||
|
||||
namespace ICSharpCode.PackageManagement |
||||
{ |
||||
public class PackageOperationMessage |
||||
{ |
||||
string message; |
||||
object[] args; |
||||
|
||||
public PackageOperationMessage( |
||||
MessageLevel level, |
||||
string message, |
||||
params object[] args) |
||||
{ |
||||
this.Level = level; |
||||
this.message = message; |
||||
this.args = args; |
||||
} |
||||
|
||||
public MessageLevel Level { get; private set; } |
||||
|
||||
public override string ToString() |
||||
{ |
||||
return String.Format(message, args); |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,21 @@
@@ -0,0 +1,21 @@
|
||||
// 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 NuGet; |
||||
|
||||
namespace ICSharpCode.PackageManagement |
||||
{ |
||||
public class PackageOperationMessageLoggedEventArgs : EventArgs |
||||
{ |
||||
public PackageOperationMessageLoggedEventArgs( |
||||
MessageLevel level, |
||||
string message, |
||||
params object[] args) |
||||
{ |
||||
this.Message = new PackageOperationMessage(level, message, args); |
||||
} |
||||
|
||||
public PackageOperationMessage Message { get; private set; } |
||||
} |
||||
} |
@ -0,0 +1,51 @@
@@ -0,0 +1,51 @@
|
||||
// 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 NUnit.Framework; |
||||
using PackageManagement.Tests.Helpers; |
||||
|
||||
namespace PackageManagement.Tests |
||||
{ |
||||
[TestFixture] |
||||
public class AddPackageReferenceCommandTests |
||||
{ |
||||
TestableAddPackageReferenceCommand command; |
||||
FakeAddPackageReferenceView view; |
||||
|
||||
void CreateCommand() |
||||
{ |
||||
command = new TestableAddPackageReferenceCommand(); |
||||
view = command.FakeAddPackageReferenceView; |
||||
} |
||||
|
||||
[Test] |
||||
public void Run_CommandExecuted_AddPackageReferenceViewIsDisplayed() |
||||
{ |
||||
CreateCommand(); |
||||
command.Run(); |
||||
|
||||
Assert.IsTrue(view.IsShowDialogCalled); |
||||
} |
||||
|
||||
[Test] |
||||
public void Run_CommandExecuted_AddPackageReferenceViewIsDisposed() |
||||
{ |
||||
CreateCommand(); |
||||
command.Run(); |
||||
|
||||
Assert.IsTrue(view.IsDisposeCalled); |
||||
} |
||||
|
||||
[Test] |
||||
public void Run_CommandExecuted_OutputMessagesViewIsCleared() |
||||
{ |
||||
CreateCommand(); |
||||
command.Run(); |
||||
|
||||
bool result = command.FakeOutputMessagesView.IsClearCalled; |
||||
|
||||
Assert.IsTrue(result); |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,26 @@
@@ -0,0 +1,26 @@
|
||||
// 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; |
||||
|
||||
namespace PackageManagement.Tests.Helpers |
||||
{ |
||||
public class FakeAddPackageReferenceView : IAddPackageReferenceView |
||||
{ |
||||
public bool IsShowDialogCalled; |
||||
|
||||
public bool? ShowDialog() |
||||
{ |
||||
IsShowDialogCalled = true; |
||||
return true; |
||||
} |
||||
|
||||
public bool IsDisposeCalled; |
||||
|
||||
public void Dispose() |
||||
{ |
||||
IsDisposeCalled = true; |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,32 @@
@@ -0,0 +1,32 @@
|
||||
// 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 System.Windows; |
||||
using ICSharpCode.PackageManagement; |
||||
using ICSharpCode.PackageManagement.Design; |
||||
|
||||
namespace PackageManagement.Tests.Helpers |
||||
{ |
||||
public class TestableAddPackageReferenceCommand : AddPackageReferenceCommand |
||||
{ |
||||
public FakePackageManagementOutputMessagesView FakeOutputMessagesView; |
||||
public FakeAddPackageReferenceView FakeAddPackageReferenceView = new FakeAddPackageReferenceView(); |
||||
|
||||
public TestableAddPackageReferenceCommand() |
||||
: this(new FakePackageManagementOutputMessagesView()) |
||||
{ |
||||
} |
||||
|
||||
public TestableAddPackageReferenceCommand(FakePackageManagementOutputMessagesView view) |
||||
: base(view) |
||||
{ |
||||
this.FakeOutputMessagesView = view; |
||||
} |
||||
|
||||
protected override IAddPackageReferenceView CreateAddPackageReferenceView() |
||||
{ |
||||
return FakeAddPackageReferenceView; |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,47 @@
@@ -0,0 +1,47 @@
|
||||
// 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; |
||||
using NuGet; |
||||
using NUnit.Framework; |
||||
using PackageManagement.Tests.Helpers; |
||||
|
||||
namespace PackageManagement.Tests |
||||
{ |
||||
[TestFixture] |
||||
public class PackageManagementLoggerTests |
||||
{ |
||||
FakePackageManagementEvents fakePackageManagementEvents; |
||||
PackageManagementLogger logger; |
||||
|
||||
void CreateLogger() |
||||
{ |
||||
fakePackageManagementEvents = new FakePackageManagementEvents(); |
||||
logger = new PackageManagementLogger(fakePackageManagementEvents); |
||||
} |
||||
|
||||
[Test] |
||||
public void Log_WarningMessageLogged_RaisesMessageLoggedEventWithWarningMessageLevel() |
||||
{ |
||||
CreateLogger(); |
||||
|
||||
logger.Log(MessageLevel.Warning, "test"); |
||||
|
||||
Assert.AreEqual(MessageLevel.Warning, fakePackageManagementEvents.MessageLevelPassedToOnPackageOperationMessageLogged); |
||||
} |
||||
|
||||
[Test] |
||||
public void Log_FormattedInfoMessageLogged_RaisesMessageLoggedEventWithFormattedMessage() |
||||
{ |
||||
CreateLogger(); |
||||
|
||||
string format = "Test {0}"; |
||||
logger.Log(MessageLevel.Info, format, "C"); |
||||
|
||||
string message = fakePackageManagementEvents.FormattedStringPassedToOnPackageOperationMessageLogged; |
||||
|
||||
Assert.AreEqual("Test C", message); |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,50 @@
@@ -0,0 +1,50 @@
|
||||
// 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; |
||||
using NuGet; |
||||
using NUnit.Framework; |
||||
|
||||
namespace PackageManagement.Tests |
||||
{ |
||||
[TestFixture] |
||||
public class PackageOperationMessageTests |
||||
{ |
||||
[Test] |
||||
public void Level_CreateInfoMessage_CreatesMessageWithMessageLevelSetToInfo() |
||||
{ |
||||
var message = new PackageOperationMessage(MessageLevel.Info, "test"); |
||||
|
||||
Assert.AreEqual(MessageLevel.Info, message.Level); |
||||
} |
||||
|
||||
[Test] |
||||
public void Level_CreateWarningMessage_CreatesMessageWithMessageLevelSetToWarning() |
||||
{ |
||||
var message = new PackageOperationMessage(MessageLevel.Warning, "test"); |
||||
|
||||
Assert.AreEqual(MessageLevel.Warning, message.Level); |
||||
} |
||||
|
||||
[Test] |
||||
public void ToString_CreateWarningMessage_ReturnsMessage() |
||||
{ |
||||
var message = new PackageOperationMessage(MessageLevel.Warning, "test"); |
||||
var text = message.ToString(); |
||||
|
||||
Assert.AreEqual("test", text); |
||||
} |
||||
|
||||
[Test] |
||||
public void ToString_CreateFormattedWarningMessage_ReturnsFormattedMessage() |
||||
{ |
||||
string format = "Test '{0}'."; |
||||
var message = new PackageOperationMessage(MessageLevel.Warning, format, "A"); |
||||
var text = message.ToString(); |
||||
|
||||
var expectedText = "Test 'A'."; |
||||
Assert.AreEqual(expectedText, text); |
||||
} |
||||
} |
||||
} |
Loading…
Reference in new issue