~halega/+junk/sharpdevelop

« back to all changes in this revision

Viewing changes to src/AddIns/Misc/PackageManagement/Test/Src/PackageManagementOutputMessagesViewTests.cs

  • Committer: sk
  • Date: 2011-09-10 05:17:57 UTC
  • Revision ID: halega@halega.com-20110910051757-qfouz1llya9m6boy
4.1.0.7915 Release Candidate 1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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)
 
3
 
 
4
using System;
 
5
using ICSharpCode.PackageManagement;
 
6
using NuGet;
 
7
using NUnit.Framework;
 
8
using PackageManagement.Tests.Helpers;
 
9
 
 
10
namespace PackageManagement.Tests
 
11
{
 
12
        [TestFixture]
 
13
        public class PackageManagementOutputMessagesViewTests
 
14
        {
 
15
                PackageManagementOutputMessagesView view;
 
16
                FakeCompilerMessageView fakeCompilerMessageView;
 
17
                FakeMessageCategoryView fakeMessageCategoryView;
 
18
                PackageManagementEvents packageManagementEvents;
 
19
                
 
20
                void CreateView()
 
21
                {
 
22
                        CreateCompilerMessageView();
 
23
                        CreateView(fakeCompilerMessageView);
 
24
                }
 
25
                
 
26
                void CreateCompilerMessageView()
 
27
                {
 
28
                        fakeCompilerMessageView = new FakeCompilerMessageView();
 
29
                        fakeMessageCategoryView = fakeCompilerMessageView.FakeMessageCategoryView;
 
30
                }
 
31
                
 
32
                void CreateView(FakeCompilerMessageView fakeCompilerMessageView)
 
33
                {
 
34
                        packageManagementEvents = new PackageManagementEvents();
 
35
                        view = new PackageManagementOutputMessagesView(fakeCompilerMessageView, packageManagementEvents);
 
36
                }
 
37
                
 
38
                void LogInfoMessage(string message)
 
39
                {
 
40
                        packageManagementEvents.OnPackageOperationMessageLogged(MessageLevel.Info, message);
 
41
                }
 
42
                
 
43
                [Test]
 
44
                public void Log_InfoMessage_CreatesMessageViewCategoryForPackageManagement()
 
45
                {
 
46
                        CreateView();
 
47
                        LogInfoMessage("Test");
 
48
                        
 
49
                        string expectedCategryName = PackageManagementOutputMessagesView.CategoryName;
 
50
                        string actualCategoryName = fakeCompilerMessageView.FirstMessageViewCategoryCreated;
 
51
                        
 
52
                        Assert.AreEqual(expectedCategryName, actualCategoryName);
 
53
                }
 
54
                
 
55
                [Test]
 
56
                public void Log_InfoMessage_MessageLoggedToMessageCategoryView()
 
57
                {
 
58
                        CreateView();
 
59
                        LogInfoMessage("Test");
 
60
                        
 
61
                        Assert.AreEqual("Test", fakeMessageCategoryView.FirstLineAppended);
 
62
                }
 
63
                
 
64
                [Test]
 
65
                public void Clear_AttemptingToClearMessages_MessagesClearedFromMessageViewCategory()
 
66
                {
 
67
                        CreateView();
 
68
                        view.Clear();
 
69
                        
 
70
                        Assert.IsTrue(fakeMessageCategoryView.IsClearCalled);
 
71
                }
 
72
                
 
73
                [Test]
 
74
                public void Constructor_MessageViewCategoryAlreadyCreated_MessageViewCategoryNotCreatedAgain()
 
75
                {
 
76
                        CreateCompilerMessageView();
 
77
                        fakeCompilerMessageView.GetExistingReturnValue = new FakeMessageCategoryView();
 
78
                        CreateView(fakeCompilerMessageView);
 
79
                        
 
80
                        Assert.AreEqual(0, fakeCompilerMessageView.MessageViewCategoriesCreated.Count);
 
81
                }
 
82
                
 
83
                [Test]
 
84
                public void Constructor_MessageViewCategoryAlreadyCreated_PackageManagementMessageCategoryNameCheckedToSeeIfItExists()
 
85
                {
 
86
                        CreateCompilerMessageView();
 
87
                        fakeCompilerMessageView.GetExistingReturnValue = new FakeMessageCategoryView();
 
88
                        CreateView(fakeCompilerMessageView);
 
89
                        
 
90
                        string expectedCategryName = PackageManagementOutputMessagesView.CategoryName;
 
91
                        string actualCategoryName = fakeCompilerMessageView.CategoryNamePassedToCategoryExists;
 
92
                        
 
93
                        Assert.AreEqual(expectedCategryName, actualCategoryName);
 
94
                }
 
95
                
 
96
                [Test]
 
97
                public void OnPackageOperationMessageLogged_InfoMessageUsingFormatStringPassed_FullyFormattedStringAddedToMessageViewCategory()
 
98
                {
 
99
                        CreateView();
 
100
                        
 
101
                        packageManagementEvents.OnPackageOperationMessageLogged(MessageLevel.Info, "Test {0}", 1);
 
102
                        
 
103
                        Assert.AreEqual("Test 1", fakeMessageCategoryView.FirstLineAppended);
 
104
                }
 
105
        }
 
106
}