Browse Source
Code that is not visited is now being displayed in the Code Coverage window. git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@6442 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61pull/1/head
28 changed files with 976 additions and 579 deletions
@ -0,0 +1,18 @@
@@ -0,0 +1,18 @@
|
||||
// <file>
|
||||
// <copyright see="prj:///doc/copyright.txt"/>
|
||||
// <license see="prj:///doc/license.txt"/>
|
||||
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
|
||||
// <version>$Revision$</version>
|
||||
// </file>
|
||||
|
||||
using System; |
||||
|
||||
namespace ICSharpCode.CodeCoverage |
||||
{ |
||||
public interface ICodeCoverageWithVisits |
||||
{ |
||||
string Name { get; } |
||||
int GetVisitedCodeLength(); |
||||
int GetUnvisitedCodeLength(); |
||||
} |
||||
} |
@ -0,0 +1,62 @@
@@ -0,0 +1,62 @@
|
||||
// <file>
|
||||
// <copyright see="prj:///doc/copyright.txt"/>
|
||||
// <license see="prj:///doc/license.txt"/>
|
||||
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
|
||||
// <version>$Revision$</version>
|
||||
// </file>
|
||||
|
||||
using System; |
||||
using System.IO; |
||||
using System.Runtime.Remoting.Messaging; |
||||
using ICSharpCode.CodeCoverage; |
||||
|
||||
namespace ICSharpCode.CodeCoverage.Tests.Coverage |
||||
{ |
||||
/// <summary>
|
||||
/// Description of CodeCoverageResultsTestsBase.
|
||||
/// </summary>
|
||||
public abstract class CodeCoverageResultsTestsBase |
||||
{ |
||||
public CodeCoverageResults results; |
||||
|
||||
public CodeCoverageResults CreateCodeCoverageResults(string xml) |
||||
{ |
||||
StringReader reader = new StringReader(xml); |
||||
results = new CodeCoverageResults(reader); |
||||
return results; |
||||
} |
||||
|
||||
public CodeCoverageModule FirstModule { |
||||
get { return results.Modules[0]; } |
||||
} |
||||
|
||||
public CodeCoverageModule SecondModule { |
||||
get { return results.Modules[1]; } |
||||
} |
||||
|
||||
public CodeCoverageMethod FirstModuleFirstMethod { |
||||
get { return FirstModule.Methods[0]; } |
||||
} |
||||
|
||||
public CodeCoverageMethod FirstModuleSecondMethod { |
||||
get { return FirstModule.Methods[1]; } |
||||
} |
||||
|
||||
public CodeCoverageSequencePoint FirstModuleFirstMethodFirstSequencePoint { |
||||
get { return FirstModuleFirstMethod.SequencePoints[0]; } |
||||
} |
||||
|
||||
public CodeCoverageSequencePoint FirstModuleFirstMethodSecondSequencePoint { |
||||
get { return FirstModuleFirstMethod.SequencePoints[1]; } |
||||
} |
||||
|
||||
public CodeCoverageSequencePoint FirstModuleFirstMethodThirdSequencePoint { |
||||
get { return FirstModuleFirstMethod.SequencePoints[2]; } |
||||
} |
||||
|
||||
public CodeCoverageSequencePoint CreateSequencePoint() |
||||
{ |
||||
return new CodeCoverageSequencePoint(); |
||||
} |
||||
} |
||||
} |
@ -1,33 +0,0 @@
@@ -1,33 +0,0 @@
|
||||
// <file>
|
||||
// <copyright see="prj:///doc/copyright.txt"/>
|
||||
// <license see="prj:///doc/license.txt"/>
|
||||
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
|
||||
// <version>$Revision$</version>
|
||||
// </file>
|
||||
|
||||
using ICSharpCode.CodeCoverage; |
||||
using NUnit.Framework; |
||||
using System; |
||||
|
||||
namespace ICSharpCode.CodeCoverage.Tests.Coverage |
||||
{ |
||||
/// <summary>
|
||||
/// Ensures that a code coverage module that has no included methods
|
||||
/// points is flagged as excluded.
|
||||
/// </summary>
|
||||
[TestFixture] |
||||
public class ExcludedModuleTestFixture |
||||
{ |
||||
[Test] |
||||
public void IsExcluded() |
||||
{ |
||||
CodeCoverageModule module = new CodeCoverageModule("test"); |
||||
CodeCoverageMethod method = new CodeCoverageMethod("Test1", "MyTestFixture"); |
||||
CodeCoverageSequencePoint pt = new CodeCoverageSequencePoint(@"c:\test\MyTestFixture.cs", 0, 10, 0, 10, 20, true); |
||||
method.SequencePoints.Add(pt); |
||||
module.Methods.Add(method); |
||||
|
||||
Assert.IsTrue(module.IsExcluded, "Module should be excluded."); |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,148 @@
@@ -0,0 +1,148 @@
|
||||
// <file>
|
||||
// <copyright see="prj:///doc/copyright.txt"/>
|
||||
// <license see="prj:///doc/license.txt"/>
|
||||
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
|
||||
// <version>$Revision$</version>
|
||||
// </file>
|
||||
|
||||
using System; |
||||
using ICSharpCode.CodeCoverage; |
||||
using NUnit.Framework; |
||||
|
||||
namespace ICSharpCode.CodeCoverage.Tests.Coverage |
||||
{ |
||||
[TestFixture] |
||||
public class SequencePointTests : CodeCoverageResultsTestsBase |
||||
{ |
||||
CodeCoverageSequencePoint lhs; |
||||
CodeCoverageSequencePoint rhs; |
||||
|
||||
[SetUp] |
||||
public void Init() |
||||
{ |
||||
lhs = base.CreateSequencePoint(); |
||||
rhs = base.CreateSequencePoint(); |
||||
} |
||||
|
||||
[Test] |
||||
public void Equals_HaveSameValuesForAllProperties_ReturnsTrue() |
||||
{ |
||||
AssertSequencePointsAreEqual(); |
||||
} |
||||
|
||||
void AssertSequencePointsAreEqual() |
||||
{ |
||||
bool result = Compare(); |
||||
Assert.IsTrue(result); |
||||
} |
||||
|
||||
void AssertSequencePointsAreNotEqual() |
||||
{ |
||||
bool result = Compare(); |
||||
Assert.IsFalse(result); |
||||
} |
||||
|
||||
bool Compare() |
||||
{ |
||||
return lhs.Equals(rhs); |
||||
} |
||||
|
||||
[Test] |
||||
public void Equals_NullParameterPassed_ReturnsFalse() |
||||
{ |
||||
bool result = lhs.Equals(null); |
||||
|
||||
Assert.IsFalse(result); |
||||
} |
||||
|
||||
[Test] |
||||
public void Equals_DocumentsAreDifferent_ReturnsFalse() |
||||
{ |
||||
rhs.Document = "abc"; |
||||
AssertSequencePointsAreNotEqual(); |
||||
} |
||||
|
||||
[Test] |
||||
public void Equals_ColumnsAreDifferent_ReturnsFalse() |
||||
{ |
||||
rhs.Column = 4; |
||||
AssertSequencePointsAreNotEqual(); |
||||
} |
||||
|
||||
[Test] |
||||
public void Equals_EndColumnsAreDifferent_ReturnsFalse() |
||||
{ |
||||
rhs.EndColumn = 4; |
||||
AssertSequencePointsAreNotEqual(); |
||||
} |
||||
|
||||
[Test] |
||||
public void Equals_EndLinesAreDifferent_ReturnsFalse() |
||||
{ |
||||
rhs.EndLine = 4; |
||||
AssertSequencePointsAreNotEqual(); |
||||
} |
||||
|
||||
[Test] |
||||
public void Equals_LinesAreDifferent_ReturnsFalse() |
||||
{ |
||||
rhs.Line = 4; |
||||
AssertSequencePointsAreNotEqual(); |
||||
} |
||||
|
||||
[Test] |
||||
public void Equals_VisitCountsAreDifferent_ReturnsFalse() |
||||
{ |
||||
rhs.VisitCount = 4; |
||||
AssertSequencePointsAreNotEqual(); |
||||
} |
||||
|
||||
[Test] |
||||
public void Equals_LengthsAreDifferent_ReturnsFalse() |
||||
{ |
||||
rhs.Length = 4; |
||||
AssertSequencePointsAreNotEqual(); |
||||
} |
||||
|
||||
[Test] |
||||
public void ToString_HasDocument_ReturnsExpectedStringContainingAllPropertyValues() |
||||
{ |
||||
lhs.Document = "test"; |
||||
lhs.VisitCount = 2; |
||||
lhs.Column = 1; |
||||
lhs.Line = 3; |
||||
lhs.EndLine = 4; |
||||
lhs.EndColumn = 5; |
||||
lhs.Length = 6; |
||||
|
||||
string toString = lhs.ToString(); |
||||
string expectedString = "Document: 'test' VisitCount: 2 Line: 3 Col: 1 EndLine: 4 EndCol: 5 Length: 6"; |
||||
|
||||
Assert.AreEqual(expectedString, toString); |
||||
} |
||||
|
||||
[Test] |
||||
public void HasDocument_WhenDocumentIsNull_ReturnsFalse() |
||||
{ |
||||
lhs.Document = null; |
||||
bool result = lhs.HasDocument(); |
||||
Assert.IsFalse(result); |
||||
} |
||||
|
||||
[Test] |
||||
public void HasDocument_WhenDocumentIsEmptyString_ReturnsFalse() |
||||
{ |
||||
lhs.Document = String.Empty; |
||||
bool result = lhs.HasDocument(); |
||||
Assert.IsFalse(result); |
||||
} |
||||
|
||||
[Test] |
||||
public void HasDocument_WhenDocumentIsNotEmptyString_ReturnsTrue() |
||||
{ |
||||
lhs.Document = "abc"; |
||||
bool result = lhs.HasDocument(); |
||||
Assert.IsTrue(result); |
||||
} |
||||
} |
||||
} |
Loading…
Reference in new issue