~halega/+junk/sharpdevelop

« back to all changes in this revision

Viewing changes to src/AddIns/Analysis/CodeCoverage/Test/Highlighting/CodeCoverageMarkersInvalidStartLineTestFixture.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 ICSharpCode.SharpDevelop.Tests.Utils;
 
5
using System;
 
6
using System.Collections.Generic;
 
7
using System.IO;
 
8
using ICSharpCode.CodeCoverage;
 
9
using ICSharpCode.Core;
 
10
using ICSharpCode.SharpDevelop.Editor;
 
11
using NUnit.Framework;
 
12
 
 
13
namespace ICSharpCode.CodeCoverage.Tests.Highlighting
 
14
{
 
15
        [TestFixture]
 
16
        public class CodeCoverageMarkersInvalidStartLineTestFixture
 
17
        {
 
18
                List<ITextMarker> markers;
 
19
                
 
20
                [SetUp]
 
21
                public void Init()
 
22
                {
 
23
                        try {
 
24
                                string configFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "NCoverAddIn.Tests");
 
25
                                PropertyService.InitializeService(configFolder, Path.Combine(configFolder, "data"), "NCoverAddIn.Tests");
 
26
                        } catch (Exception) {}
 
27
                        
 
28
                        IDocument document = MockTextMarkerService.CreateDocumentWithMockService();
 
29
                        ITextMarkerService markerStrategy = document.GetService(typeof(ITextMarkerService)) as ITextMarkerService;
 
30
                        
 
31
                        string xml = "<PartCoverReport>\r\n" +
 
32
                                "\t<File id=\"1\" url=\"c:\\Projects\\XmlEditor\\Test\\Schema\\SingleElementSchemaTestFixture.cs\"/>\r\n" +
 
33
                                "\t<Assembly id=\"1\" name=\"XmlEditor.Tests\" module=\"C:\\Projects\\Test\\XmlEditor.Tests\\bin\\XmlEditor.Tests.DLL\" domain=\"test-domain-XmlEditor.Tests.dll\" domainIdx=\"1\" />\r\n" +
 
34
                                "\t<Type name=\"XmlEditor.Tests.Schema.SingleElementSchemaTestFixture\" asmref=\"1\">\r\n" +
 
35
                                "\t\t<Method name=\"GetSchema\">\r\n" +
 
36
                                "\t\t\t<pt visit=\"1\" fid=\"1\" sl=\"0\" sc=\"3\" el=\"0\" ec=\"4\" />\r\n" +
 
37
                                "\t\t\t<pt visit=\"1\" fid=\"1\" sl=\"-1\" sc=\"4\" el=\"9\" ec=\"20\" />\r\n" +
 
38
                                "\t\t\t<pt visit=\"1\" fid=\"1\" sl=\"10\" sc=\"3\" el=\"10\" ec=\"4\" />\r\n" +
 
39
                                "\t\t</Method>\r\n" +
 
40
                                "\t</Type>\r\n" +
 
41
                                "</PartCoverReport>";
 
42
                        
 
43
                        CodeCoverageResults results = new CodeCoverageResults(new StringReader(xml));
 
44
                        CodeCoverageMethod method = results.Modules[0].Methods[0];
 
45
                        CodeCoverageHighlighter highlighter = new CodeCoverageHighlighter();
 
46
                        highlighter.AddMarkers(document, method.SequencePoints);
 
47
                        
 
48
                        markers = new List<ITextMarker>();
 
49
                        foreach (ITextMarker marker in markerStrategy.TextMarkers) {
 
50
                                markers.Add(marker);
 
51
                        }
 
52
                }
 
53
                
 
54
                [Test]
 
55
                public void NoMarkersAdded()
 
56
                {
 
57
                        Assert.AreEqual(0, markers.Count, 
 
58
                                "Should not be any markers added since all sequence point start lines are invalid.");
 
59
                }
 
60
        }
 
61
}