// // // // // $Revision$ // using ICSharpCode.Core; using ICSharpCode.CodeCoverage; using ICSharpCode.TextEditor.Document; using NUnit.Framework; using System; using System.Collections.Generic; using System.IO; namespace ICSharpCode.CodeCoverage.Tests { [TestFixture] public class AddCodeCoverageMarkersTestFixture { MarkerStrategy markerStrategy; CodeCoverageTextMarker markerOne; CodeCoverageTextMarker markerTwo; CodeCoverageTextMarker markerThree; MockDocument document; [TestFixtureSetUp] public void SetUpFixture() { try { string configFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "NCoverAddIn.Tests"); PropertyService.InitializeService(configFolder, Path.Combine(configFolder, "data"), "NCoverAddIn.Tests"); } catch (Exception) {} document = new MockDocument(); string code = "\t\t{\r\n" + "\t\t\tint count = 0;\r\n" + "\t\t}\r\n"; document.AddLines(code); markerStrategy = new MarkerStrategy(document); string xml = "\r\n" + "\t\r\n" + "\t\t\r\n" + "\t\t\t\r\n" + "\t\t\t\r\n" + "\t\t\t\r\n" + "\t\t\r\n" + "\t\r\n" + ""; CodeCoverageResults results = new CodeCoverageResults(new StringReader(xml)); CodeCoverageMethod method = results.Modules[0].Methods[0]; CodeCoverageHighlighter highlighter = new CodeCoverageHighlighter(); highlighter.AddMarkers(markerStrategy, method.SequencePoints); foreach (CodeCoverageTextMarker marker in markerStrategy.TextMarker) { if (markerOne == null) { markerOne = marker; } else if (markerTwo == null) { markerTwo = marker; } else if (markerThree == null) { markerThree = marker; } } } [Test] public void MarkerCount() { int count = 0; foreach (CodeCoverageTextMarker marker in markerStrategy.TextMarker) { count++; } Assert.AreEqual(3, count); } [Test] public void MarkerOneOffset() { Assert.AreEqual(3, markerOne.Offset); } [Test] public void MarkerOneLength() { Assert.AreEqual(1, markerOne.Length); } [Test] public void MarkerOneType() { Assert.AreEqual(TextMarkerType.SolidBlock, markerOne.TextMarkerType); } [Test] public void MarkerOneForeColor() { Assert.AreEqual(CodeCoverageOptions.VisitedForeColor, markerOne.ForeColor); } [Test] public void MarkerOneColor() { Assert.AreEqual(CodeCoverageOptions.VisitedColor, markerOne.Color); } [Test] public void MarkerTwoOffset() { Assert.AreEqual(9, markerTwo.Offset); } [Test] public void MarkerTwoLength() { Assert.AreEqual(14, markerTwo.Length); } [Test] public void MarkerThreeForeColor() { Assert.AreEqual(CodeCoverageOptions.NotVisitedForeColor, markerThree.ForeColor); } [Test] public void MarkerThreeColor() { Assert.AreEqual(CodeCoverageOptions.NotVisitedColor, markerThree.Color); } [Test] public void MarkerThreeOffset() { Assert.AreEqual(27, markerThree.Offset); } [Test] public void MarkerThreeLength() { Assert.AreEqual(1, markerThree.Length); } } }