1
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
2
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
5
using ICSharpCode.PackageManagement;
8
using PackageManagement.Tests.Helpers;
10
namespace PackageManagement.Tests
13
public class PackageManagementOutputMessagesViewTests
15
PackageManagementOutputMessagesView view;
16
FakeCompilerMessageView fakeCompilerMessageView;
17
FakeMessageCategoryView fakeMessageCategoryView;
18
PackageManagementEvents packageManagementEvents;
22
CreateCompilerMessageView();
23
CreateView(fakeCompilerMessageView);
26
void CreateCompilerMessageView()
28
fakeCompilerMessageView = new FakeCompilerMessageView();
29
fakeMessageCategoryView = fakeCompilerMessageView.FakeMessageCategoryView;
32
void CreateView(FakeCompilerMessageView fakeCompilerMessageView)
34
packageManagementEvents = new PackageManagementEvents();
35
view = new PackageManagementOutputMessagesView(fakeCompilerMessageView, packageManagementEvents);
38
void LogInfoMessage(string message)
40
packageManagementEvents.OnPackageOperationMessageLogged(MessageLevel.Info, message);
44
public void Log_InfoMessage_CreatesMessageViewCategoryForPackageManagement()
47
LogInfoMessage("Test");
49
string expectedCategryName = PackageManagementOutputMessagesView.CategoryName;
50
string actualCategoryName = fakeCompilerMessageView.FirstMessageViewCategoryCreated;
52
Assert.AreEqual(expectedCategryName, actualCategoryName);
56
public void Log_InfoMessage_MessageLoggedToMessageCategoryView()
59
LogInfoMessage("Test");
61
Assert.AreEqual("Test", fakeMessageCategoryView.FirstLineAppended);
65
public void Clear_AttemptingToClearMessages_MessagesClearedFromMessageViewCategory()
70
Assert.IsTrue(fakeMessageCategoryView.IsClearCalled);
74
public void Constructor_MessageViewCategoryAlreadyCreated_MessageViewCategoryNotCreatedAgain()
76
CreateCompilerMessageView();
77
fakeCompilerMessageView.GetExistingReturnValue = new FakeMessageCategoryView();
78
CreateView(fakeCompilerMessageView);
80
Assert.AreEqual(0, fakeCompilerMessageView.MessageViewCategoriesCreated.Count);
84
public void Constructor_MessageViewCategoryAlreadyCreated_PackageManagementMessageCategoryNameCheckedToSeeIfItExists()
86
CreateCompilerMessageView();
87
fakeCompilerMessageView.GetExistingReturnValue = new FakeMessageCategoryView();
88
CreateView(fakeCompilerMessageView);
90
string expectedCategryName = PackageManagementOutputMessagesView.CategoryName;
91
string actualCategoryName = fakeCompilerMessageView.CategoryNamePassedToCategoryExists;
93
Assert.AreEqual(expectedCategryName, actualCategoryName);
97
public void OnPackageOperationMessageLogged_InfoMessageUsingFormatStringPassed_FullyFormattedStringAddedToMessageViewCategory()
101
packageManagementEvents.OnPackageOperationMessageLogged(MessageLevel.Info, "Test {0}", 1);
103
Assert.AreEqual("Test 1", fakeMessageCategoryView.FirstLineAppended);