#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.
 
 
 
 
 
 

116 lines
3.5 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;
using NuGet;
using NUnit.Framework;
using PackageManagement.Tests.Helpers;
namespace PackageManagement.Tests
{
[TestFixture]
public class PackageManagementOutputMessagesViewTests
{
PackageManagementOutputMessagesView view;
FakeCompilerMessageView fakeCompilerMessageView;
FakeMessageCategoryView fakeMessageCategoryView;
PackageManagementEvents packageManagementEvents;
void CreateView()
{
CreateCompilerMessageView();
CreateView(fakeCompilerMessageView);
}
void CreateCompilerMessageView()
{
fakeCompilerMessageView = new FakeCompilerMessageView();
fakeMessageCategoryView = fakeCompilerMessageView.FakeMessageCategoryView;
}
void CreateView(FakeCompilerMessageView fakeCompilerMessageView)
{
packageManagementEvents = new PackageManagementEvents();
view = new PackageManagementOutputMessagesView(fakeCompilerMessageView, packageManagementEvents);
}
void LogInfoMessage(string message)
{
view.Log(MessageLevel.Info, message);
}
[Test]
public void Log_InfoMessage_CreatesMessageViewCategoryForPackageManagement()
{
CreateView();
LogInfoMessage("Test");
string expectedCategryName = PackageManagementOutputMessagesView.CategoryName;
string actualCategoryName = fakeCompilerMessageView.FirstMessageViewCategoryCreated;
Assert.AreEqual(expectedCategryName, actualCategoryName);
}
[Test]
public void Log_InfoMessage_MessageLoggedToMessageCategoryView()
{
CreateView();
LogInfoMessage("Test");
Assert.AreEqual("Test", fakeMessageCategoryView.FirstLineAppended);
}
[Test]
public void Clear_AttemptingToClearMessages_MessagesClearedFromMessageViewCategory()
{
CreateView();
view.Clear();
Assert.IsTrue(fakeMessageCategoryView.IsClearCalled);
}
[Test]
public void Constructor_MessageViewCategoryAlreadyCreated_MessageViewCategoryNotCreatedAgain()
{
CreateCompilerMessageView();
fakeCompilerMessageView.GetExistingReturnValue = new FakeMessageCategoryView();
CreateView(fakeCompilerMessageView);
Assert.AreEqual(0, fakeCompilerMessageView.MessageViewCategoriesCreated.Count);
}
[Test]
public void Constructor_MessageViewCategoryAlreadyCreated_PackageManagementMessageCategoryNameCheckedToSeeIfItExists()
{
CreateCompilerMessageView();
fakeCompilerMessageView.GetExistingReturnValue = new FakeMessageCategoryView();
CreateView(fakeCompilerMessageView);
string expectedCategryName = PackageManagementOutputMessagesView.CategoryName;
string actualCategoryName = fakeCompilerMessageView.CategoryNamePassedToCategoryExists;
Assert.AreEqual(expectedCategryName, actualCategoryName);
}
[Test]
public void Log_InfoMessageUsingFormatStringPassed_FullyFormattedStringAddedToMessageViewCategory()
{
CreateView();
view.Log(MessageLevel.Info, "Test {0}", 1);
Assert.AreEqual("Test 1", fakeMessageCategoryView.FirstLineAppended);
}
[Test]
public void OnPackageOperationMessageLogged_InfoMessageUsingFormatStringPassed_FullyFormattedStringAddedToMessageViewCategory()
{
CreateView();
packageManagementEvents.OnPackageOperationMessageLogged(MessageLevel.Info, "Test {0}", 1);
Assert.AreEqual("Test 1", fakeMessageCategoryView.FirstLineAppended);
}
}
}