Browse Source

Fixed more unit test cases.

pull/27/head
Lex Li 14 years ago
parent
commit
ab350b7eeb
  1. 10
      src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageResults.cs
  2. 65
      src/AddIns/Analysis/CodeCoverage/Test/Coverage/CodeCoverageResultsMissingFileIdTestFixture.cs
  3. 41
      src/AddIns/Analysis/CodeCoverage/Test/Coverage/CodeCoverageResultsTestFixture.cs
  4. 30
      src/AddIns/Analysis/CodeCoverage/Test/Coverage/CodeCoverageResultsWithEmptyMethodElementTestFixture.cs
  5. 102
      src/AddIns/Analysis/CodeCoverage/Test/Coverage/GetSequencePointsForFileNameTestFixture.cs
  6. 57
      src/AddIns/Analysis/CodeCoverage/Test/Coverage/InvalidSequencePointDataTestFixture.cs
  7. 96
      src/AddIns/Analysis/CodeCoverage/Test/Coverage/ModuleVisitedSequencePointsTestFixture.cs

10
src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageResults.cs

@ -77,15 +77,17 @@ namespace ICSharpCode.CodeCoverage @@ -77,15 +77,17 @@ namespace ICSharpCode.CodeCoverage
CodeCoverageModule AddModule(XElement reader, string className)
{
string assemblyName = GetAssemblyName(reader);
CodeCoverageModule module = null;
foreach (CodeCoverageModule existingModule in modules) {
if (existingModule.Name == assemblyName) {
return existingModule;
module = existingModule;
break;
}
}
CodeCoverageModule module = new CodeCoverageModule(assemblyName);
if (module == null) {
module = new CodeCoverageModule(assemblyName);
modules.Add(module);
}
var methods = reader
.Elements("Classes")
.Elements("Class")

65
src/AddIns/Analysis/CodeCoverage/Test/Coverage/CodeCoverageResultsMissingFileIdTestFixture.cs

@ -20,26 +20,51 @@ namespace ICSharpCode.CodeCoverage.Tests.Coverage @@ -20,26 +20,51 @@ namespace ICSharpCode.CodeCoverage.Tests.Coverage
[SetUp]
public void SetUpFixture()
{
string xml = "<PartCoverReport ver=\"1.0.2796.35184\">\r\n" +
"<File id=\"1\" url=\"c:\\test\\MyTests\\Class1.cs\" />\r\n" +
"<Assembly id=\"1\" name=\"MyTests.Tests\" module=\"C:\\Projects\\Test\\MyTests\\bin\\MyTests.DLL\" domain=\"test-domain-MyTests.dll\" domainIdx=\"1\" />\r\n" +
"<Assembly id=\"2\" name=\"nunit.framework\" module=\"C:\\Projects\\Test\\MyTests\\bin\\nunit.framework.DLL\" domain=\"test-domain-nunit.framework.dll\" domainIdx=\"1\" />\r\n" +
"<Type asmref=\"2\" name=\"NUnit.Framework.NotEqualAsserter\" flags=\"1233408\">\r\n" +
" <Method name=\"Fail\" sig=\"bool ()\" flags=\"134\" iflags=\"0\">\r\n" +
" <pt visit=\"1\" pos=\"11\" len=\"1\" />\r\n" +
" <pt visit=\"0\" pos=\"6\" len=\"5\" />\r\n" +
" <pt visit=\"0\" pos=\"0\" len=\"6\" />\r\n" +
" </Method>\r\n" +
"</Type>\r\n" +
"<Type asmref=\"1\" name=\"MyClass\" flags=\"1233248\">\r\n" +
" <Method name=\".ctor\" sig=\"void ()\" flags=\"6278\" iflags=\"0\">\r\n" +
" <pt visit=\"0\" pos=\"8\" len=\"2\" fid=\"1\" sl=\"21\" sc=\"3\" el=\"21\" ec=\"4\" />\r\n" +
" <pt visit=\"0\" pos=\"7\" len=\"1\" fid=\"1\" sl=\"20\" sc=\"3\" el=\"20\" ec=\"4\" />\r\n" +
" <pt visit=\"0\" pos=\"0\" len=\"7\" fid=\"1\" sl=\"19\" sc=\"3\" el=\"19\" ec=\"18\" />\r\n" +
" <pt visit=\"0\" pos=\"0\" len=\"7\" sl=\"19\" sc=\"3\" el=\"19\" ec=\"18\" />\r\n" +
" </Method>\r\n" +
"</Type>\r\n" +
"</PartCoverReport>";
string xml = "<CoverageSession xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\r\n" +
"\t<Modules>\r\n" +
"\t\t<Module hash=\"44-54-B6-13-97-49-45-F8-6A-74-9E-49-0C-77-87-C6-9C-54-47-7B\">\r\n" +
"\t\t\t<FullName>C:\\Projects\\Test\\MyTests\\bin\\nunit.framework.DLL</FullName>\r\n" +
"\t\t\t<ModuleName>nunit.framework</ModuleName>\r\n" +
"\t\t\t<Classes>\r\n" +
"\t\t\t\t<Class>\r\n" +
"\t\t\t\t\t<FullName>NUnit.Framework.NotEqualAsserter</FullName>\r\n" +
"\t\t\t\t\t<Methods>\r\n" +
"\t\t\t\t\t\t<Method visited=\"true\" cyclomaticComplexity=\"1\" sequenceCoverage=\"100\" branchCoverage=\"100\" isConstructor=\"false\" isStatic=\"false\" isGetter=\"false\" isSetter=\"false\">\r\n" +
"\t\t\t\t\t\t\t<MetadataToken>100663297</MetadataToken>\r\n" +
"\t\t\t\t\t\t\t<Name>System.Boolean NUnit.Framework.NotEqualAsserter::Fail()</Name>\r\n" +
"\t\t\t\t\t\t\t<SequencePoints />\r\n" +
"\t\t\t\t\t\t</Method>\r\n" +
"\t\t\t\t\t</Methods>\r\n" +
"\t\t\t\t</Class>\r\n" +
"\t\t\t</Classes>\r\n" +
"\t\t</Module>\r\n" +
"\t\t<Module hash=\"44-54-B6-13-97-49-45-F8-6A-74-9E-49-0C-77-87-C6-9C-54-47-7A\">\r\n" +
"\t\t\t<FullName>C:\\Projects\\Test\\MyTests\\bin\\MyTests.DLL</FullName>\r\n" +
"\t\t\t<ModuleName>MyTests.Tests</ModuleName>\r\n" +
"\t\t\t<Files>\r\n" +
"\t\t\t\t<File uid=\"1\" fullPath=\"c:\\test\\MyTests\\Class1.cs\" />\r\n" +
"\t\t\t</Files>\r\n" +
"\t\t\t<Classes>\r\n" +
"\t\t\t\t<Class>\r\n" +
"\t\t\t\t\t<FullName>MyTests.Tests.MyClass</FullName>\r\n" +
"\t\t\t\t\t<Methods>\r\n" +
"\t\t\t\t\t\t<Method visited=\"true\" cyclomaticComplexity=\"1\" sequenceCoverage=\"100\" branchCoverage=\"100\" isConstructor=\"false\" isStatic=\"false\" isGetter=\"false\" isSetter=\"false\">\r\n" +
"\t\t\t\t\t\t\t<MetadataToken>100663297</MetadataToken>\r\n" +
"\t\t\t\t\t\t\t<Name>System.Void MyTests.Tests.MyClass::.ctor()</Name>\r\n" +
"\t\t\t\t\t\t\t<FileRef uid=\"1\" />\r\n" +
"\t\t\t\t\t\t\t<SequencePoints>\r\n" +
"\t\t\t\t\t\t\t\t<SequencePoint vc=\"0\" sl=\"21\" sc=\"3\" el=\"21\" ec=\"4\" />\r\n" +
"\t\t\t\t\t\t\t\t<SequencePoint vc=\"0\" sl=\"20\" sc=\"3\" el=\"20\" ec=\"4\" />\r\n" +
"\t\t\t\t\t\t\t\t<SequencePoint vc=\"0\" sl=\"19\" sc=\"3\" el=\"19\" ec=\"18\" />\r\n" +
"\t\t\t\t\t\t\t\t<SequencePoint vc=\"0\" sl=\"19\" sc=\"3\" el=\"19\" ec=\"18\" />\r\n" +
"\t\t\t\t\t\t\t</SequencePoints>\r\n" +
"\t\t\t\t\t\t</Method>\r\n" +
"\t\t\t\t\t</Methods>\r\n" +
"\t\t\t\t</Class>\r\n" +
"\t\t\t</Classes>\r\n" +
"\t\t</Module>\r\n" +
"\t</Modules>\r\n" +
"</CoverageSession>";
base.CreateCodeCoverageResults(xml);
}

41
src/AddIns/Analysis/CodeCoverage/Test/Coverage/CodeCoverageResultsTestFixture.cs

@ -15,17 +15,34 @@ namespace ICSharpCode.CodeCoverage.Tests.Coverage @@ -15,17 +15,34 @@ namespace ICSharpCode.CodeCoverage.Tests.Coverage
public void SetUpFixture()
{
string xml =
"<PartCoverReport date=\"2008-07-10T02:59:13.7198656+01:00\">\r\n" +
" <File id=\"1\" url=\"c:\\Projects\\Foo\\FooTestFixture.cs\" />\r\n" +
" <Assembly id=\"1\" name=\"Foo.Tests\" module=\"C:\\Projects\\Test\\Foo.Tests\\bin\\Foo.Tests.DLL\" domain=\"test-domain-Foo.Tests.dll\" domainIdx=\"1\" />\r\n" +
" <Type asmref=\"1\" name=\"Foo.Tests.FooTestFixture\" flags=\"1232592\">\r\n" +
" <Method name=\"SimpleTest\" sig=\"void ()\" bodysize=\"42\" flags=\"2182\" iflags=\"0\">\r\n" +
" <pt visit=\"1\" pos=\"0\" len=\"2\" fid=\"1\" sl=\"20\" sc=\"3\" el=\"20\" ec=\"4\" />\r\n" +
" <pt visit=\"1\" pos=\"0\" len=\"1\" fid=\"1\" sl=\"21\" sc=\"13\" el=\"21\" ec=\"32\" />\r\n" +
" <pt visit=\"0\" pos=\"0\" len=\"4\" fid=\"1\" sl=\"24\" sc=\"3\" el=\"24\" ec=\"4\" />\r\n" +
" </Method>\r\n" +
" </Type>\r\n" +
"</PartCoverReport>";
"<CoverageSession xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\r\n" +
"\t<Modules>\r\n" +
"\t\t<Module hash=\"44-54-B6-13-97-49-45-F8-6A-74-9E-49-0C-77-87-C6-9C-54-47-7A\">\r\n" +
"\t\t\t<FullName>C:\\Projects\\Test\\Foo.Tests\\bin\\Foo.Tests.DLL</FullName>\r\n" +
"\t\t\t<ModuleName>Foo.Tests</ModuleName>\r\n" +
"\t\t\t<Files>\r\n" +
"\t\t\t\t<File uid=\"1\" fullPath=\"c:\\Projects\\Foo\\FooTestFixture.cs\" />\r\n" +
"\t\t\t</Files>\r\n" +
"\t\t\t<Classes>\r\n" +
"\t\t\t\t<Class>\r\n" +
"\t\t\t\t\t<FullName>Foo.Tests.FooTestFixture</FullName>\r\n" +
"\t\t\t\t\t<Methods>\r\n" +
"\t\t\t\t\t\t<Method visited=\"true\" cyclomaticComplexity=\"1\" sequenceCoverage=\"100\" branchCoverage=\"100\" isConstructor=\"false\" isStatic=\"false\" isGetter=\"false\" isSetter=\"false\">\r\n" +
"\t\t\t\t\t\t\t<MetadataToken>100663297</MetadataToken>\r\n" +
"\t\t\t\t\t\t\t<Name>System.Void Foo.Tests.FooTestFixture::SimpleTest()</Name>\r\n" +
"\t\t\t\t\t\t\t<FileRef uid=\"1\" />\r\n" +
"\t\t\t\t\t\t\t<SequencePoints>\r\n" +
"\t\t\t\t\t\t\t\t<SequencePoint vc=\"1\" sl=\"20\" sc=\"3\" el=\"20\" ec=\"4\" />\r\n" +
"\t\t\t\t\t\t\t\t<SequencePoint vc=\"1\" sl=\"21\" sc=\"13\" el=\"21\" ec=\"32\" />\r\n" +
"\t\t\t\t\t\t\t\t<SequencePoint vc=\"0\" sl=\"24\" sc=\"3\" el=\"24\" ec=\"4\" />\r\n" +
"\t\t\t\t\t\t\t</SequencePoints>\r\n" +
"\t\t\t\t\t\t</Method>\r\n" +
"\t\t\t\t\t</Methods>\r\n" +
"\t\t\t\t</Class>\r\n" +
"\t\t\t</Classes>\r\n" +
"\t\t</Module>\r\n" +
"\t</Modules>\r\n" +
"</CoverageSession>";
base.CreateCodeCoverageResults(xml);
}
@ -56,7 +73,7 @@ namespace ICSharpCode.CodeCoverage.Tests.Coverage @@ -56,7 +73,7 @@ namespace ICSharpCode.CodeCoverage.Tests.Coverage
public void MethodName_ModuleHasOneMethod_ReturnsExpectedMethodName()
{
string name = FirstModuleFirstMethod.Name;
string expectedName = "SimpleTest";
string expectedName = "System.Void Foo.Tests.FooTestFixture::.SimpleTest()";
Assert.AreEqual(expectedName, name);
}

30
src/AddIns/Analysis/CodeCoverage/Test/Coverage/CodeCoverageResultsWithEmptyMethodElementTestFixture.cs

@ -15,13 +15,29 @@ namespace ICSharpCode.CodeCoverage.Tests.Coverage @@ -15,13 +15,29 @@ namespace ICSharpCode.CodeCoverage.Tests.Coverage
public void SetUpFixture()
{
string xml =
"<PartCoverReport date=\"2008-07-10T02:59:13.7198656+01:00\">\r\n" +
" <File id=\"1\" url=\"c:\\Projects\\Foo\\FooTestFixture.cs\" />\r\n" +
" <Assembly id=\"1\" name=\"Foo.Tests\" module=\"C:\\Projects\\Test\\Foo.Tests\\bin\\Foo.Tests.DLL\" domain=\"test-domain-Foo.Tests.dll\" domainIdx=\"1\" />\r\n" +
" <Type asmref=\"1\" name=\"Foo.Tests.FooTestFixture\" flags=\"1232592\">\r\n" +
" <Method name=\"SimpleTest\" sig=\"void ()\" bodysize=\"42\" flags=\"2182\" iflags=\"0\" />\r\n" +
" </Type>\r\n" +
"</PartCoverReport>";
"<CoverageSession xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\r\n" +
"\t<Modules>\r\n" +
"\t\t<Module hash=\"44-54-B6-13-97-49-45-F8-6A-74-9E-49-0C-77-87-C6-9C-54-47-7A\">\r\n" +
"\t\t\t<FullName>C:\\Projects\\Test\\Foo.Tests\\bin\\Foo.Tests.DLL</FullName>\r\n" +
"\t\t\t<ModuleName>Foo.Tests</ModuleName>\r\n" +
"\t\t\t<Files>\r\n" +
"\t\t\t\t<File uid=\"1\" fullPath=\"c:\\Projects\\Foo\\FooTestFixture.cs\" />\r\n" +
"\t\t\t</Files>\r\n" +
"\t\t\t<Classes>\r\n" +
"\t\t\t\t<Class>\r\n" +
"\t\t\t\t\t<FullName>Foo.Tests.FooTestFixture</FullName>\r\n" +
"\t\t\t\t\t<Methods>\r\n" +
"\t\t\t\t\t\t<Method visited=\"true\" cyclomaticComplexity=\"1\" sequenceCoverage=\"100\" branchCoverage=\"100\" isConstructor=\"false\" isStatic=\"false\" isGetter=\"false\" isSetter=\"false\">\r\n" +
"\t\t\t\t\t\t\t<MetadataToken>100663297</MetadataToken>\r\n" +
"\t\t\t\t\t\t\t<Name>System.Void Foo.Tests.FooTestFixture::.SimpleTest()</Name>\r\n" +
"\t\t\t\t\t\t\t<FileRef uid=\"1\" />\r\n" +
"\t\t\t\t\t\t</Method>\r\n" +
"\t\t\t\t\t</Methods>\r\n" +
"\t\t\t\t</Class>\r\n" +
"\t\t\t</Classes>\r\n" +
"\t\t</Module>\r\n" +
"\t</Modules>\r\n" +
"</CoverageSession>";
base.CreateCodeCoverageResults(xml);
}

102
src/AddIns/Analysis/CodeCoverage/Test/Coverage/GetSequencePointsForFileNameTestFixture.cs

@ -16,33 +16,81 @@ namespace ICSharpCode.CodeCoverage.Tests.Coverage @@ -16,33 +16,81 @@ namespace ICSharpCode.CodeCoverage.Tests.Coverage
public void SetUpFixture()
{
string xml =
"<PartCoverReport>\r\n" +
" <File id=\"1\" url=\"c:\\Projects\\Foo\\FooTestFixture.cs\" />\r\n" +
" <File id=\"2\" url=\"c:\\Projects\\Foo\\SimpleTestFixture.cs\" />\r\n" +
" <File id=\"3\" url=\"c:\\Projects\\Foo\\BarTestFixture.cs\" />\r\n" +
" <Assembly id=\"1\" name=\"Foo.Tests\" module=\"C:\\Projects\\Test\\Foo.Tests\\bin\\Foo.Tests.DLL\" domain=\"test-domain-Foo.Tests.dll\" domainIdx=\"1\" />\r\n" +
" <Assembly id=\"2\" name=\"Bar.Tests\" module=\"C:\\Projects\\Test\\Foo.Tests\\bin\\Bar.Tests.DLL\" domain=\"test-domain-Bar.Tests.dll\" domainIdx=\"1\" />\r\n" +
" <Type name=\"Foo.Tests.FooTestFixture\" asmref=\"1\">\r\n" +
" <Method name=\"FooTest\">\r\n" +
" <pt visit=\"1\" sl=\"20\" sc=\"3\" el=\"20\" ec=\"4\" fid=\"1\" />\r\n" +
" </Method>\r\n" +
" </Type>\r\n" +
" <Type name=\"Foo.Tests.SimpleTestFixture2\" asmref=\"1\">\r\n" +
" <Method name=\"SimpleTest2\">\r\n" +
" <pt visit=\"1\" sl=\"20\" sc=\"3\" el=\"20\" ec=\"4\" fid=\"2\" />\r\n" +
" </Method>\r\n" +
" </Type>\r\n" +
" <Type name=\"Foo.Tests.SimpleTestFixture3\" asmref=\"1\">\r\n" +
" <Method name=\"SimpleTest3\">\r\n" +
" <pt visit=\"1\" sl=\"20\" sc=\"3\" el=\"20\" ec=\"4\" fid=\"2\" />\r\n" +
" </Method>\r\n" +
" </Type>\r\n" +
" <Type name=\"Foo.Tests.BarTestFixture\" asmref=\"2\">\r\n" +
" <Method name=\"SimpleTest2\">\r\n" +
" <pt visit=\"1\" sl=\"20\" sc=\"3\" el=\"20\" ec=\"4\" fid=\"3\" />\r\n" +
" </Method>\r\n" +
" </Type>\r\n" +
"</PartCoverReport>";
"<CoverageSession xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\r\n" +
"\t<Modules>\r\n" +
"\t\t<Module hash=\"44-54-B6-13-97-49-45-F8-6A-74-9E-49-0C-77-87-C6-9C-54-47-7A\">\r\n" +
"\t\t\t<FullName>C:\\Projects\\Test\\Foo.Tests\\bin\\Foo.Tests.DLL</FullName>\r\n" +
"\t\t\t<ModuleName>Foo.Tests</ModuleName>\r\n" +
"\t\t\t<Files>\r\n" +
"\t\t\t\t<File uid=\"1\" fullPath=\"c:\\Projects\\Foo\\FooTestFixture.cs\" />\r\n" +
"\t\t\t\t<File uid=\"2\" fullPath=\"c:\\Projects\\Foo\\SimpleTestFixture.cs\" />\r\n" +
"\t\t\t</Files>\r\n" +
"\t\t\t<Classes>\r\n" +
"\t\t\t\t<Class>\r\n" +
"\t\t\t\t\t<FullName>Foo.Tests.FooTestFixture</FullName>\r\n" +
"\t\t\t\t\t<Methods>\r\n" +
"\t\t\t\t\t\t<Method visited=\"true\" cyclomaticComplexity=\"1\" sequenceCoverage=\"100\" branchCoverage=\"100\" isConstructor=\"false\" isStatic=\"false\" isGetter=\"false\" isSetter=\"false\">\r\n" +
"\t\t\t\t\t\t\t<MetadataToken>100663297</MetadataToken>\r\n" +
"\t\t\t\t\t\t\t<Name>System.Void Foo.Tests.FooTestFixture::FooTest()</Name>\r\n" +
"\t\t\t\t\t\t\t<FileRef uid=\"1\" />\r\n" +
"\t\t\t\t\t\t\t<SequencePoints>\r\n" +
"\t\t\t\t\t\t\t\t<SequencePoint vc=\"1\" sl=\"20\" sc=\"3\" el=\"20\" ec=\"4\" />\r\n" +
"\t\t\t\t\t\t\t</SequencePoints>\r\n" +
"\t\t\t\t\t\t</Method>\r\n" +
"\t\t\t\t\t</Methods>\r\n" +
"\t\t\t\t</Class>\r\n" +
"\t\t\t\t<Class>\r\n" +
"\t\t\t\t\t<FullName>Foo.Tests.SimpleTestFixture2</FullName>\r\n" +
"\t\t\t\t\t<Methods>\r\n" +
"\t\t\t\t\t\t<Method visited=\"true\" cyclomaticComplexity=\"1\" sequenceCoverage=\"100\" branchCoverage=\"100\" isConstructor=\"false\" isStatic=\"false\" isGetter=\"false\" isSetter=\"false\">\r\n" +
"\t\t\t\t\t\t\t<MetadataToken>100663297</MetadataToken>\r\n" +
"\t\t\t\t\t\t\t<Name>System.Void Foo.Tests.SimpleTestFixture2::SimpleTest2()</Name>\r\n" +
"\t\t\t\t\t\t\t<FileRef uid=\"2\" />\r\n" +
"\t\t\t\t\t\t\t<SequencePoints>\r\n" +
"\t\t\t\t\t\t\t\t<SequencePoint vc=\"1\" sl=\"20\" sc=\"3\" el=\"20\" ec=\"4\" />\r\n" +
"\t\t\t\t\t\t\t</SequencePoints>\r\n" +
"\t\t\t\t\t\t</Method>\r\n" +
"\t\t\t\t\t</Methods>\r\n" +
"\t\t\t\t</Class>\r\n" +
"\t\t\t\t<Class>\r\n" +
"\t\t\t\t\t<FullName>Foo.Tests.SimpleTestFixture3</FullName>\r\n" +
"\t\t\t\t\t<Methods>\r\n" +
"\t\t\t\t\t\t<Method visited=\"true\" cyclomaticComplexity=\"1\" sequenceCoverage=\"100\" branchCoverage=\"100\" isConstructor=\"false\" isStatic=\"false\" isGetter=\"false\" isSetter=\"false\">\r\n" +
"\t\t\t\t\t\t\t<MetadataToken>100663297</MetadataToken>\r\n" +
"\t\t\t\t\t\t\t<Name>System.Void Foo.Tests.SimpleTestFixture3::SimpleTest3()</Name>\r\n" +
"\t\t\t\t\t\t\t<FileRef uid=\"2\" />\r\n" +
"\t\t\t\t\t\t\t<SequencePoints>\r\n" +
"\t\t\t\t\t\t\t\t<SequencePoint vc=\"1\" sl=\"20\" sc=\"3\" el=\"20\" ec=\"4\" />\r\n" +
"\t\t\t\t\t\t\t</SequencePoints>\r\n" +
"\t\t\t\t\t\t</Method>\r\n" +
"\t\t\t\t\t</Methods>\r\n" +
"\t\t\t\t</Class>\r\n" +
"\t\t\t</Classes>\r\n" +
"\t\t</Module>\r\n" +
"\t\t<Module hash=\"44-54-B6-13-97-49-45-F8-6A-74-9E-49-0C-77-87-C6-9C-54-47-7B\">\r\n" +
"\t\t\t<FullName>C:\\Projects\\Test\\Foo.Tests\\bin\\Bar.Tests.DLL</FullName>\r\n" +
"\t\t\t<ModuleName>Bar.Tests</ModuleName>\r\n" +
"\t\t\t<Files>\r\n" +
"\t\t\t\t<File uid=\"3\" fullPath=\"c:\\Projects\\Foo\\BarTestFixture.cs\" />\r\n" +
"\t\t\t</Files>\r\n" +
"\t\t\t<Classes>\r\n" +
"\t\t\t\t<Class>\r\n" +
"\t\t\t\t\t<FullName>Foo.Tests.BarTestFixture</FullName>\r\n" +
"\t\t\t\t\t<Methods>\r\n" +
"\t\t\t\t\t\t<Method visited=\"true\" cyclomaticComplexity=\"1\" sequenceCoverage=\"100\" branchCoverage=\"100\" isConstructor=\"false\" isStatic=\"false\" isGetter=\"false\" isSetter=\"false\">\r\n" +
"\t\t\t\t\t\t\t<MetadataToken>100663297</MetadataToken>\r\n" +
"\t\t\t\t\t\t\t<Name>System.Void Foo.Tests.BarTestFixture::.SimpleTest2()</Name>\r\n" +
"\t\t\t\t\t\t\t<FileRef uid=\"3\" />\r\n" +
"\t\t\t\t\t\t\t<SequencePoints>\r\n" +
"\t\t\t\t\t\t\t\t<SequencePoint vc=\"1\" sl=\"20\" sc=\"3\" el=\"20\" ec=\"4\" />\r\n" +
"\t\t\t\t\t\t\t</SequencePoints>\r\n" +
"\t\t\t\t\t\t</Method>\r\n" +
"\t\t\t\t\t</Methods>\r\n" +
"\t\t\t\t</Class>\r\n" +
"\t\t\t</Classes>\r\n" +
"\t\t</Module>\r\n" +
"\t</Modules>\r\n" +
"</CoverageSession>";
base.CreateCodeCoverageResults(xml);
}

57
src/AddIns/Analysis/CodeCoverage/Test/Coverage/InvalidSequencePointDataTestFixture.cs

@ -16,21 +16,48 @@ namespace ICSharpCode.CodeCoverage.Tests.Coverage @@ -16,21 +16,48 @@ namespace ICSharpCode.CodeCoverage.Tests.Coverage
public void SetUpFixture()
{
string xml =
"<PartCoverReport>\r\n" +
"\t<File id=\"1\" url=\"c:\\Projects\\Foo\\SimpleTestFixture.cs\"/>\r\n" +
"\t<Assembly id=\"1\" name=\"Foo.Tests\" module=\"C:\\Projects\\Test\\bin\\Foo.Tests.DLL\" domain=\"test-domain-Foo.Tests.dll\" domainIdx=\"1\" />\r\n" +
"\t<Type name=\"Foo.Tests.FooTestFixture\" asmref=\"1\">\r\n" +
"\t\t<Method name=\"InvalidVisitCount\">\r\n" +
"\t\t\t<pt visit=\"a\" fid=\"1\" sl=\"10\" sc=\"3\" el=\"20\" ec=\"4\"/>\r\n" +
"\t\t</Method>\r\n" +
"\t\t<Method name=\"InvalidLine\">\r\n" +
"\t\t\t<pt visit=\"2\" fid=\"1\" sl=\"b\" sc=\"3\" el=\"20\" ec=\"4\"/>\r\n" +
"\t\t</Method>\r\n" +
"\t\t<Method name=\"InvalidColumn\">\r\n" +
"\t\t\t<pt visit=\"1\" fid=\"1\" sl=\"20\" sc=\"c\" el=\"d\" ec=\"e\"/>\r\n" +
"\t\t</Method>\r\n" +
"\t</Type>\r\n" +
"</PartCoverReport>";
"<CoverageSession xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\r\n" +
"\t<Modules>\r\n" +
"\t\t<Module hash=\"44-54-B6-13-97-49-45-F8-6A-74-9E-49-0C-77-87-C6-9C-54-47-7A\">\r\n" +
"\t\t\t<FullName>C:\\Projects\\Test\\Foo.Tests\\bin\\Foo.Tests.DLL</FullName>\r\n" +
"\t\t\t<ModuleName>Foo.Tests</ModuleName>\r\n" +
"\t\t\t<Files>\r\n" +
"\t\t\t\t<File uid=\"1\" fullPath=\"c:\\Projects\\Foo\\SimpleTestFixture.cs\" />\r\n" +
"\t\t\t</Files>\r\n" +
"\t\t\t<Classes>\r\n" +
"\t\t\t\t<Class>\r\n" +
"\t\t\t\t\t<FullName>Foo.Tests.FooTestFixture</FullName>\r\n" +
"\t\t\t\t\t<Methods>\r\n" +
"\t\t\t\t\t\t<Method visited=\"true\" cyclomaticComplexity=\"1\" sequenceCoverage=\"100\" branchCoverage=\"100\" isConstructor=\"false\" isStatic=\"false\" isGetter=\"false\" isSetter=\"false\">\r\n" +
"\t\t\t\t\t\t\t<MetadataToken>100663297</MetadataToken>\r\n" +
"\t\t\t\t\t\t\t<Name>System.Void Foo.Tests.FooTestFixture::InvalidVisitCount()</Name>\r\n" +
"\t\t\t\t\t\t\t<FileRef uid=\"1\" />\r\n" +
"\t\t\t\t\t\t\t<SequencePoints>\r\n" +
"\t\t\t\t\t\t\t\t<SequencePoint vc=\"a\" sl=\"10\" sc=\"3\" el=\"20\" ec=\"4\" />\r\n" +
"\t\t\t\t\t\t\t</SequencePoints>\r\n" +
"\t\t\t\t\t\t</Method>\r\n" +
"\t\t\t\t\t\t<Method visited=\"true\" cyclomaticComplexity=\"1\" sequenceCoverage=\"100\" branchCoverage=\"100\" isConstructor=\"false\" isStatic=\"false\" isGetter=\"false\" isSetter=\"false\">\r\n" +
"\t\t\t\t\t\t\t<MetadataToken>100663297</MetadataToken>\r\n" +
"\t\t\t\t\t\t\t<Name>System.Void Foo.Tests.FooTestFixture::InvalidLine()</Name>\r\n" +
"\t\t\t\t\t\t\t<FileRef uid=\"1\" />\r\n" +
"\t\t\t\t\t\t\t<SequencePoints>\r\n" +
"\t\t\t\t\t\t\t\t<SequencePoint vc=\"2\" sl=\"b\" sc=\"3\" el=\"20\" ec=\"4\" />\r\n" +
"\t\t\t\t\t\t\t</SequencePoints>\r\n" +
"\t\t\t\t\t\t</Method>\r\n" +
"\t\t\t\t\t\t<Method visited=\"true\" cyclomaticComplexity=\"1\" sequenceCoverage=\"100\" branchCoverage=\"100\" isConstructor=\"false\" isStatic=\"false\" isGetter=\"false\" isSetter=\"false\">\r\n" +
"\t\t\t\t\t\t\t<MetadataToken>100663297</MetadataToken>\r\n" +
"\t\t\t\t\t\t\t<Name>System.Void Foo.Tests.FooTestFixture::InvalidColumn()</Name>\r\n" +
"\t\t\t\t\t\t\t<FileRef uid=\"1\" />\r\n" +
"\t\t\t\t\t\t\t<SequencePoints>\r\n" +
"\t\t\t\t\t\t\t\t<SequencePoint vc=\"a\" sl=\"10\" sc=\"c\" el=\"d\" ec=\"e\" />\r\n" +
"\t\t\t\t\t\t\t</SequencePoints>\r\n" +
"\t\t\t\t\t\t</Method>\r\n" +
"\t\t\t\t\t</Methods>\r\n" +
"\t\t\t\t</Class>\r\n" +
"\t\t\t</Classes>\r\n" +
"\t\t</Module>\r\n" +
"\t</Modules>\r\n" +
"</CoverageSession>";
base.CreateCodeCoverageResults(xml);
}

96
src/AddIns/Analysis/CodeCoverage/Test/Coverage/ModuleVisitedSequencePointsTestFixture.cs

@ -15,34 +15,74 @@ namespace ICSharpCode.CodeCoverage.Tests.Coverage @@ -15,34 +15,74 @@ namespace ICSharpCode.CodeCoverage.Tests.Coverage
public void SetUpFixture()
{
string xml =
"<PartCoverReport>\r\n" +
"\t<File id=\"1\" url=\"c:\\Projects\\Foo\\FooTestFixture.cs\"/>\r\n" +
"\t<File id=\"2\" url=\"c:\\Projects\\Foo\\FooTestFixture2.cs\"/>\r\n" +
"\t<File id=\"3\" url=\"c:\\Projects\\Foo\\BarTestFixture.cs\"/>\r\n" +
"\t<Assembly id=\"1\" name=\"Foo.Tests\" module=\"C:\\Projects\\Test\\bin\\Foo.Tests.DLL\" domain=\"test-domain-Foo.Tests.dll\" domainIdx=\"1\" />\r\n" +
"\t<Assembly id=\"2\" name=\"Bar.Tests\" module=\"C:\\Projects\\Test\\bin\\Bar.Tests.DLL\" domain=\"test-domain-Bar.Tests.dll\" domainIdx=\"1\" />\r\n" +
"\t<Type name=\"Foo.Tests.FooTestFixture1\" asmref=\"1\">\r\n" +
"\t\t<Method name=\"SimpleTest1\">\r\n" +
"\t\t\t<pt visit=\"12\" len=\"2\" sl=\"20\" sc=\"3\" el=\"20\" ec=\"4\" fid=\"1\" />\r\n" +
"\t\t\t<pt visit=\"4\" len=\"3\" sl=\"21\" sc=\"13\" el=\"21\" ec=\"32\" fid=\"1\" />\r\n" +
"\t\t\t<pt visit=\"0\" len=\"1\" sl=\"24\" sc=\"3\" el=\"24\" ec=\"4\" fid=\"1\"/>\r\n" +
"\t\t</Method>\r\n" +
"\t</Type>\r\n" +
"\t<Type name=\"Foo.Tests.FooTestFixture2\" asmref=\"1\">\r\n" +
"\t\t<Method name=\"SimpleTest2\">\r\n" +
"\t\t\t<pt visit=\"1\" len=\"3\" sl=\"20\" sc=\"3\" el=\"20\" ec=\"4\" fid=\"2\" />\r\n" +
"\t\t\t<pt visit=\"10\" len=\"1\" sl=\"21\" sc=\"13\" el=\"21\" ec=\"32\" fid=\"2\"/>\r\n" +
"\t\t\t<pt visit=\"0\" len=\"2\" sl=\"24\" sc=\"3\" el=\"24\" ec=\"4\" fid=\"2\" />\r\n" +
"\t\t</Method>\r\n" +
"\t</Type>\r\n" +
"\t<Type name=\"Bar.Tests.FooTestFixture3\" asmref=\"2\">\r\n" +
"\t\t<Method name=\"SimpleTest3\">\r\n" +
"\t\t\t<pt visit=\"5\" len=\"6\" sl=\"20\" sc=\"3\" el=\"20\" ec=\"4\" fid=\"3\" />\r\n" +
"\t\t\t<pt visit=\"1\" len=\"5\" sl=\"21\" sc=\"13\" el=\"21\" ec=\"32\" fid=\"3\" />\r\n" +
"\t\t\t<pt visit=\"0\" len=\"4\" sl=\"24\" sc=\"3\" el=\"24\" ec=\"4\" fid=\"3\" />\r\n" +
"\t\t</Method>\r\n" +
"\t</Type>\r\n" +
"</PartCoverReport>";
"<CoverageSession xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\r\n" +
"\t<Modules>\r\n" +
"\t\t<Module hash=\"44-54-B6-13-97-49-45-F8-6A-74-9E-49-0C-77-87-C6-9C-54-47-7A\">\r\n" +
"\t\t\t<FullName>C:\\Projects\\Test\\Foo.Tests\\bin\\Foo.Tests.DLL</FullName>\r\n" +
"\t\t\t<ModuleName>Foo.Tests</ModuleName>\r\n" +
"\t\t\t<Files>\r\n" +
"\t\t\t\t<File uid=\"1\" fullPath=\"c:\\Projects\\Foo\\FooTestFixture.cs\" />\r\n" +
"\t\t\t\t<File uid=\"2\" fullPath=\"c:\\Projects\\Foo\\FooTestFixture2.cs\" />\r\n" +
"\t\t\t</Files>\r\n" +
"\t\t\t<Classes>\r\n" +
"\t\t\t\t<Class>\r\n" +
"\t\t\t\t\t<FullName>Foo.Tests.FooTestFixture1</FullName>\r\n" +
"\t\t\t\t\t<Methods>\r\n" +
"\t\t\t\t\t\t<Method visited=\"true\" cyclomaticComplexity=\"1\" sequenceCoverage=\"100\" branchCoverage=\"100\" isConstructor=\"false\" isStatic=\"false\" isGetter=\"false\" isSetter=\"false\">\r\n" +
"\t\t\t\t\t\t\t<MetadataToken>100663297</MetadataToken>\r\n" +
"\t\t\t\t\t\t\t<Name>System.Void Foo.Tests.FooTestFixture::SimpleTest1()</Name>\r\n" +
"\t\t\t\t\t\t\t<FileRef uid=\"1\" />\r\n" +
"\t\t\t\t\t\t\t<SequencePoints>\r\n" +
"\t\t\t\t\t\t\t\t<SequencePoint vc=\"12\" sl=\"20\" sc=\"3\" el=\"20\" ec=\"4\" />\r\n" +
"\t\t\t\t\t\t\t\t<SequencePoint vc=\"4\" sl=\"21\" sc=\"13\" el=\"21\" ec=\"32\" />\r\n" +
"\t\t\t\t\t\t\t\t<SequencePoint vc=\"0\" sl=\"24\" sc=\"3\" el=\"24\" ec=\"4\" />\r\n" +
"\t\t\t\t\t\t\t</SequencePoints>\r\n" +
"\t\t\t\t\t\t</Method>\r\n" +
"\t\t\t\t\t</Methods>\r\n" +
"\t\t\t\t</Class>\r\n" +
"\t\t\t\t<Class>\r\n" +
"\t\t\t\t\t<FullName>Foo.Tests.FooTestFixture2</FullName>\r\n" +
"\t\t\t\t\t<Methods>\r\n" +
"\t\t\t\t\t\t<Method visited=\"true\" cyclomaticComplexity=\"1\" sequenceCoverage=\"100\" branchCoverage=\"100\" isConstructor=\"false\" isStatic=\"false\" isGetter=\"false\" isSetter=\"false\">\r\n" +
"\t\t\t\t\t\t\t<MetadataToken>100663297</MetadataToken>\r\n" +
"\t\t\t\t\t\t\t<Name>System.Void Foo.Tests.FooTestFixture2::SimpleTest2()</Name>\r\n" +
"\t\t\t\t\t\t\t<FileRef uid=\"2\" />\r\n" +
"\t\t\t\t\t\t\t<SequencePoints>\r\n" +
"\t\t\t\t\t\t\t\t<SequencePoint vc=\"1\" sl=\"20\" sc=\"3\" el=\"20\" ec=\"4\" />\r\n" +
"\t\t\t\t\t\t\t\t<SequencePoint vc=\"10\" sl=\"21\" sc=\"13\" el=\"21\" ec=\"32\" />\r\n" +
"\t\t\t\t\t\t\t\t<SequencePoint vc=\"0\" sl=\"24\" sc=\"3\" el=\"24\" ec=\"4\" />\r\n" +
"\t\t\t\t\t\t\t</SequencePoints>\r\n" +
"\t\t\t\t\t\t</Method>\r\n" +
"\t\t\t\t\t</Methods>\r\n" +
"\t\t\t\t</Class>\r\n" +
"\t\t\t</Classes>\r\n" +
"\t\t</Module>\r\n" +
"\t\t<Module hash=\"44-54-B6-13-97-49-45-F8-6A-74-9E-49-0C-77-87-C6-9C-54-47-7B\">\r\n" +
"\t\t\t<FullName>C:\\Projects\\Test\\Foo.Tests\\bin\\Bar.Tests.DLL</FullName>\r\n" +
"\t\t\t<ModuleName>Bar.Tests</ModuleName>\r\n" +
"\t\t\t<Files>\r\n" +
"\t\t\t\t<File uid=\"3\" fullPath=\"c:\\Projects\\Foo\\BarTestFixture.cs\" />\r\n" +
"\t\t\t</Files>\r\n" +
"\t\t\t<Classes>\r\n" +
"\t\t\t\t<Class>\r\n" +
"\t\t\t\t\t<FullName>Foo.Tests.FooTestFixture3</FullName>\r\n" +
"\t\t\t\t\t<Methods>\r\n" +
"\t\t\t\t\t\t<Method visited=\"true\" cyclomaticComplexity=\"1\" sequenceCoverage=\"100\" branchCoverage=\"100\" isConstructor=\"false\" isStatic=\"false\" isGetter=\"false\" isSetter=\"false\">\r\n" +
"\t\t\t\t\t\t\t<MetadataToken>100663297</MetadataToken>\r\n" +
"\t\t\t\t\t\t\t<Name>System.Void Foo.Tests.BarTestFixture::.SimpleTest3()</Name>\r\n" +
"\t\t\t\t\t\t\t<FileRef uid=\"3\" />\r\n" +
"\t\t\t\t\t\t\t<SequencePoints>\r\n" +
"\t\t\t\t\t\t\t\t<SequencePoint vc=\"5\" sl=\"20\" sc=\"3\" el=\"20\" ec=\"4\" />\r\n" +
"\t\t\t\t\t\t\t\t<SequencePoint vc=\"1\" sl=\"21\" sc=\"13\" el=\"21\" ec=\"32\" />\r\n" +
"\t\t\t\t\t\t\t\t<SequencePoint vc=\"0\" sl=\"24\" sc=\"3\" el=\"24\" ec=\"4\" />\r\n" +
"\t\t\t\t\t\t\t</SequencePoints>\r\n" +
"\t\t\t\t\t\t</Method>\r\n" +
"\t\t\t\t\t</Methods>\r\n" +
"\t\t\t\t</Class>\r\n" +
"\t\t\t</Classes>\r\n" +
"\t\t</Module>\r\n" +
"\t</Modules>\r\n" +
"</CoverageSession>";
base.CreateCodeCoverageResults(xml);
}

Loading…
Cancel
Save