Browse Source

Fixed more unit test cases.

pull/27/head
Lex Li 13 years ago
parent
commit
a0df22e2fc
  1. 15
      src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageResults.cs
  2. 2
      src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageTestRunner.cs
  3. 18
      src/AddIns/Analysis/CodeCoverage/Project/Src/OpenCoverSettings.cs
  4. 6
      src/AddIns/Analysis/CodeCoverage/Project/Src/OpenCoverSettingsFactory.cs
  5. 20
      src/AddIns/Analysis/CodeCoverage/Test/CodeCoverage.Tests.csproj
  6. 26
      src/AddIns/Analysis/CodeCoverage/Test/Coverage/OpenCoverSettingsFactoryTests.cs
  7. 4
      src/AddIns/Analysis/CodeCoverage/Test/Coverage/OpenCoverSettingsMissingRulePrefixTestFixture.cs
  8. 8
      src/AddIns/Analysis/CodeCoverage/Test/Coverage/OpenCoverSettingsTestFixture.cs
  9. 39
      src/AddIns/Analysis/CodeCoverage/Test/Highlighting/AddCodeCoverageMarkersTestFixture.cs
  10. 14
      src/AddIns/Analysis/CodeCoverage/Test/Testing/CodeCoverageTestRunnerTests.cs
  11. 48
      src/AddIns/Analysis/CodeCoverage/Test/Testing/OpenCoverApplicationTests.cs
  12. 38
      src/AddIns/Analysis/CodeCoverage/Test/Testing/RunTestWithCodeCoverageCommandTests.cs

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

@ -76,7 +76,14 @@ namespace ICSharpCode.CodeCoverage @@ -76,7 +76,14 @@ namespace ICSharpCode.CodeCoverage
/// </summary>
CodeCoverageModule AddModule(XElement reader, string className)
{
CodeCoverageModule module = new CodeCoverageModule(className);
string assemblyName = GetAssemblyName(reader);
foreach (CodeCoverageModule existingModule in modules) {
if (existingModule.Name == assemblyName) {
return existingModule;
}
}
CodeCoverageModule module = new CodeCoverageModule(assemblyName);
modules.Add(module);
var methods = reader
@ -91,6 +98,12 @@ namespace ICSharpCode.CodeCoverage @@ -91,6 +98,12 @@ namespace ICSharpCode.CodeCoverage
return module;
}
string GetAssemblyName(XElement reader)
{
string id = reader.Attribute("hash").Value;
return GetAssembly(id);
}
CodeCoverageMethod AddMethod(CodeCoverageModule module, string className, XElement reader)
{
CodeCoverageMethod method = new CodeCoverageMethod(className, reader);

2
src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageTestRunner.cs

@ -66,7 +66,7 @@ namespace ICSharpCode.CodeCoverage @@ -66,7 +66,7 @@ namespace ICSharpCode.CodeCoverage
NUnitConsoleApplication nunitConsoleApp = new NUnitConsoleApplication(selectedTests, options);
nunitConsoleApp.Results = base.TestResultsMonitor.FileName;
OpenCoverSettings settings = settingsFactory.CreatePartCoverSettings(selectedTests.Project);
OpenCoverSettings settings = settingsFactory.CreateOpenCoverSettings(selectedTests.Project);
partCoverApplication = new OpenCoverApplication(nunitConsoleApp, settings);
}

18
src/AddIns/Analysis/CodeCoverage/Project/Src/OpenCoverSettings.cs

@ -12,14 +12,14 @@ using ICSharpCode.SharpDevelop.Project; @@ -12,14 +12,14 @@ using ICSharpCode.SharpDevelop.Project;
namespace ICSharpCode.CodeCoverage
{
/// <summary>
/// File that stores PartCover settings. This file has the same format as
/// PartCover requires, but is actually just used by the Code Coverage addin
/// File that stores OpenCover settings. This file has the same format as
/// OpenCover requires, but is actually just used by the Code Coverage addin
/// as a place to store the include and exclude regular expressions that the
/// user may set up on a per project basis.
/// </summary>
public class OpenCoverSettings
{
static readonly string RootElementName = "PartCoverSettings";
static readonly string RootElementName = "OpenCoverSettings";
static readonly string RuleElementName = "Rule";
StringCollection include = new StringCollection();
StringCollection exclude = new StringCollection();
@ -44,11 +44,11 @@ namespace ICSharpCode.CodeCoverage @@ -44,11 +44,11 @@ namespace ICSharpCode.CodeCoverage
}
/// <summary>
/// Gets the NCover settings filename for the specified project.
/// Gets the OpenCover settings filename for the specified project.
/// </summary>
public static string GetFileName(IProject project)
{
return Path.ChangeExtension(project.FileName, "PartCover.Settings");
return Path.ChangeExtension(project.FileName, "OpenCover.Settings");
}
/// <summary>
@ -66,7 +66,7 @@ namespace ICSharpCode.CodeCoverage @@ -66,7 +66,7 @@ namespace ICSharpCode.CodeCoverage
}
/// <summary>
/// Writes the PartCover settings to the specified text writer.
/// Writes the OpenCover settings to the specified text writer.
/// </summary>
public void Save(TextWriter writer)
{
@ -74,7 +74,7 @@ namespace ICSharpCode.CodeCoverage @@ -74,7 +74,7 @@ namespace ICSharpCode.CodeCoverage
}
/// <summary>
/// Saves the PartCover settings to the specified file.
/// Saves the OpenCover settings to the specified file.
/// </summary>
public void Save(string fileName)
{
@ -82,7 +82,7 @@ namespace ICSharpCode.CodeCoverage @@ -82,7 +82,7 @@ namespace ICSharpCode.CodeCoverage
}
/// <summary>
/// Writes the PartCover settings to the specified XmlTextWriter.
/// Writes the OpenCover settings to the specified XmlTextWriter.
/// </summary>
public void Save(XmlTextWriter writer)
{
@ -98,7 +98,7 @@ namespace ICSharpCode.CodeCoverage @@ -98,7 +98,7 @@ namespace ICSharpCode.CodeCoverage
/// <summary>
/// Reads the include and exclude regular expressions from the
/// PartCover settings xml.
/// OpenCover settings xml.
/// </summary>
void ReadSettings(XmlReader reader)
{

6
src/AddIns/Analysis/CodeCoverage/Project/Src/OpenCoverSettingsFactory.cs

@ -21,16 +21,16 @@ namespace ICSharpCode.CodeCoverage @@ -21,16 +21,16 @@ namespace ICSharpCode.CodeCoverage
{
}
public OpenCoverSettings CreatePartCoverSettings(IProject project)
public OpenCoverSettings CreateOpenCoverSettings(IProject project)
{
string fileName = OpenCoverSettings.GetFileName(project);
if (fileSystem.FileExists(fileName)) {
return CreatePartCoverSettingsFromFile(fileName);
return CreateOpenCoverSettingsFromFile(fileName);
}
return new OpenCoverSettings();
}
OpenCoverSettings CreatePartCoverSettingsFromFile(string fileName)
OpenCoverSettings CreateOpenCoverSettingsFromFile(string fileName)
{
TextReader reader = fileSystem.CreateTextReader(fileName);
return new OpenCoverSettings(reader);

20
src/AddIns/Analysis/CodeCoverage/Test/CodeCoverage.Tests.csproj

@ -72,9 +72,9 @@ @@ -72,9 +72,9 @@
<Compile Include="Coverage\InvalidSequencePointDataTestFixture.cs" />
<Compile Include="Coverage\MethodHasNoNamespaceTestFixture.cs" />
<Compile Include="Coverage\ModuleVisitedSequencePointsTestFixture.cs" />
<Compile Include="Coverage\PartCoverSettingsFactoryTests.cs" />
<Compile Include="Coverage\PartCoverSettingsMissingRulePrefixTestFixture.cs" />
<Compile Include="Coverage\PartCoverSettingsTestFixture.cs" />
<Compile Include="Coverage\OpenCoverSettingsFactoryTests.cs" />
<Compile Include="Coverage\OpenCoverSettingsMissingRulePrefixTestFixture.cs" />
<Compile Include="Coverage\OpenCoverSettingsTestFixture.cs" />
<Compile Include="Coverage\RemoveTaskMarkerTests.cs" />
<Compile Include="Coverage\SequencePointTests.cs" />
<Compile Include="Coverage\SimilarRootNamespaceTestFixture.cs" />
@ -91,7 +91,7 @@ @@ -91,7 +91,7 @@
<Compile Include="Highlighting\CodeCoverageMarkersInvalidStartLineTestFixture.cs" />
<Compile Include="Highlighting\RemoveCodeCoverageMarkersTestFixture.cs" />
<Compile Include="Testing\CodeCoverageTestRunnerTests.cs" />
<Compile Include="Testing\PartCoverApplicationTests.cs" />
<Compile Include="Testing\OpenCoverApplicationTests.cs" />
<Compile Include="Testing\RunTestWithCodeCoverageCommandTests.cs" />
<Compile Include="Utils\DerivedCodeCoverageTestRunner.cs" />
<Compile Include="Utils\DerivedRunTestWithCodeCoverageCommand.cs" />
@ -99,7 +99,9 @@ @@ -99,7 +99,9 @@
<Compile Include="Gui\CodeCoverageTreeViewTestFixture.cs" />
<Compile Include="Gui\ListViewSortingTestFixture.cs" />
<Compile Include="Gui\TreeViewAfterSelectTestFixture.cs" />
<Compile Include="Utils\DerivedCodeCoverageTreeView.cs" />
<Compile Include="Utils\DerivedCodeCoverageTreeView.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Utils\MockCodeCoverageTestRunnerFactory.cs" />
<Compile Include="Utils\MockFileSystem.cs" />
</ItemGroup>
@ -138,13 +140,7 @@ @@ -138,13 +140,7 @@
<Name>ICSharpCode.SharpDevelop.Dom</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Folder Include="Coverage" />
<Folder Include="Highlighting" />
<Folder Include="Testing" />
<Folder Include="Utils" />
<Folder Include="Gui" />
</ItemGroup>
<ItemGroup />
<ItemGroup>
<None Include="..\..\..\..\..\AddIns\Analysis\UnitTesting\UnitTesting.dll">
<Link>UnitTesting.dll</Link>

26
src/AddIns/Analysis/CodeCoverage/Test/Coverage/PartCoverSettingsFactoryTests.cs → src/AddIns/Analysis/CodeCoverage/Test/Coverage/OpenCoverSettingsFactoryTests.cs

@ -15,7 +15,7 @@ namespace ICSharpCode.CodeCoverage.Tests.Coverage @@ -15,7 +15,7 @@ namespace ICSharpCode.CodeCoverage.Tests.Coverage
public class OpenCoverSettingsFactoryTests
{
OpenCoverSettingsFactory factory;
OpenCoverSettings partCoverSettings;
OpenCoverSettings openCoverSettings;
MockCSharpProject project;
MockFileSystem fileSystem;
@ -28,33 +28,33 @@ namespace ICSharpCode.CodeCoverage.Tests.Coverage @@ -28,33 +28,33 @@ namespace ICSharpCode.CodeCoverage.Tests.Coverage
}
[Test]
public void CreatePartCoverSettingsWhenFileDoesNotExistCreatesSettingsWithNoPartCoverIncludes()
public void CreateOpenCoverSettingsWhenFileDoesNotExistCreatesSettingsWithNoPartCoverIncludes()
{
fileSystem.FileExistsReturnValue = false;
CreatePartCoverSettingsFromFactory();
Assert.AreEqual(0, partCoverSettings.Include.Count);
CreateOpenCoverSettingsFromFactory();
Assert.AreEqual(0, openCoverSettings.Include.Count);
}
void CreatePartCoverSettingsFromFactory()
void CreateOpenCoverSettingsFromFactory()
{
partCoverSettings = factory.CreatePartCoverSettings(project);
openCoverSettings = factory.CreateOpenCoverSettings(project);
}
[Test]
public void CreatePartCoverSettingsWhenFileExistsCreatesSettingsFromFile()
public void CreateOpenCoverSettingsWhenFileExistsCreatesSettingsFromFile()
{
string partCoverSettingsXml =
"<PartCoverSettings>\r\n" +
string openCoverSettingsXml =
"<OpenCoverSettings>\r\n" +
" <Rule>+test</Rule>\r\n" +
"</PartCoverSettings>";
"</OpenCoverSettings>";
StringReader reader = new StringReader(partCoverSettingsXml);
StringReader reader = new StringReader(openCoverSettingsXml);
fileSystem.CreateTextReaderReturnValue = reader;
fileSystem.FileExistsReturnValue = true;
CreatePartCoverSettingsFromFactory();
Assert.AreEqual("test", partCoverSettings.Include[0]);
CreateOpenCoverSettingsFromFactory();
Assert.AreEqual("test", openCoverSettings.Include[0]);
}
}
}

4
src/AddIns/Analysis/CodeCoverage/Test/Coverage/PartCoverSettingsMissingRulePrefixTestFixture.cs → src/AddIns/Analysis/CodeCoverage/Test/Coverage/OpenCoverSettingsMissingRulePrefixTestFixture.cs

@ -20,10 +20,10 @@ namespace ICSharpCode.CodeCoverage.Tests.Coverage @@ -20,10 +20,10 @@ namespace ICSharpCode.CodeCoverage.Tests.Coverage
[TestFixtureSetUp]
public void SetUpFixture()
{
string xml = "<PartCoverSettings>\r\n" +
string xml = "<OpenCoverSettings>\r\n" +
" <Rule/>\r\n" +
" <Rule></Rule>\r\n" +
"</PartCoverSettings>";
"</OpenCoverSettings>";
settings = new OpenCoverSettings(new StringReader(xml));
}

8
src/AddIns/Analysis/CodeCoverage/Test/Coverage/PartCoverSettingsTestFixture.cs → src/AddIns/Analysis/CodeCoverage/Test/Coverage/OpenCoverSettingsTestFixture.cs

@ -57,7 +57,7 @@ namespace ICSharpCode.CodeCoverage.Tests.Coverage @@ -57,7 +57,7 @@ namespace ICSharpCode.CodeCoverage.Tests.Coverage
}
[Test]
public void PartCoverSettingsFileName()
public void OpenCoverSettingsFileName()
{
MSBuildBasedProject project = new MSBuildBasedProject(
new ProjectCreateInformation {
@ -66,19 +66,19 @@ namespace ICSharpCode.CodeCoverage.Tests.Coverage @@ -66,19 +66,19 @@ namespace ICSharpCode.CodeCoverage.Tests.Coverage
ProjectName = "test"
});
Assert.AreEqual(@"C:\temp\test.PartCover.Settings", OpenCoverSettings.GetFileName(project));
Assert.AreEqual(@"C:\temp\test.OpenCover.Settings", OpenCoverSettings.GetFileName(project));
}
[Test]
public void FourRuleElements()
{
Assert.AreEqual(4, doc.SelectNodes("/PartCoverSettings/Rule").Count);
Assert.AreEqual(4, doc.SelectNodes("/OpenCoverSettings/Rule").Count);
}
[Test]
public void FirstRuleElement()
{
Assert.IsNotNull(doc.SelectSingleNode("/PartCoverSettings/Rule[text()='+[a]*']"));
Assert.IsNotNull(doc.SelectSingleNode("/OpenCoverSettings/Rule[text()='+[a]*']"));
}
}
}

39
src/AddIns/Analysis/CodeCoverage/Test/Highlighting/AddCodeCoverageMarkersTestFixture.cs

@ -35,17 +35,34 @@ namespace ICSharpCode.CodeCoverage.Tests.Highlighting @@ -35,17 +35,34 @@ namespace ICSharpCode.CodeCoverage.Tests.Highlighting
document.Text = code;
markerStrategy = document.GetService(typeof(ITextMarkerService)) as ITextMarkerService;
string xml = "<PartCoverReport>\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" +
"\t<Type asmref=\"1\" name=\"Foo.Tests.FooTestFixture\" flags=\"1232592\">\r\n" +
"\t\t<Method name=\"SimpleTest\">\r\n" +
"\t\t\t<pt visit=\"1\" sl=\"1\" fid=\"1\" sc=\"3\" el=\"1\" ec=\"4\" document=\"c:\\Projects\\Foo\\Foo1TestFixture.cs\" />\r\n" +
"\t\t\t<pt visit=\"1\" sl=\"2\" fid=\"1\" sc=\"4\" el=\"2\" ec=\"18\" document=\"c:\\Projects\\Foo\\Foo1TestFixture.cs\" />\r\n" +
"\t\t\t<pt visit=\"0\" sl=\"3\" fid=\"1\" sc=\"3\" el=\"3\" ec=\"4\" document=\"c:\\Projects\\Foo\\Foo1TestFixture.cs\" />\r\n" +
"\t\t</Method>\r\n" +
"\t</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>\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<MetadataToken>100663297</MetadataToken>\r\n" +
"\t\t\t\t\t\t<Name>System.Void Foo.Tests.FooTestFixture::SimpleTest()</Name>\r\n" +
"\t\t\t\t\t\t<FileRef uid=\"1\" />\r\n" +
"\t\t\t\t\t\t<SequencePoints>\r\n" +
"\t\t\t\t\t\t\t<SequencePoint vc=\"1\" sl=\"1\" sc=\"3\" el=\"1\" ec=\"4\" />\r\n" +
"\t\t\t\t\t\t\t<SequencePoint vc=\"1\" sl=\"2\" sc=\"4\" el=\"2\" ec=\"18\" />\r\n" +
"\t\t\t\t\t\t\t<SequencePoint vc=\"0\" sl=\"3\" sc=\"3\" el=\"3\" 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>";
CodeCoverageResults results = new CodeCoverageResults(new StringReader(xml));
CodeCoverageMethod method = results.Modules[0].Methods[0];
CodeCoverageHighlighter highlighter = new CodeCoverageHighlighter();

14
src/AddIns/Analysis/CodeCoverage/Test/Testing/CodeCoverageTestRunnerTests.cs

@ -118,7 +118,7 @@ namespace ICSharpCode.CodeCoverage.Tests.Testing @@ -118,7 +118,7 @@ namespace ICSharpCode.CodeCoverage.Tests.Testing
string expectedCommandLine =
"-register:user -target:\"d:\\sharpdevelop\\bin\\Tools\\NUnit\\nunit-console-x86.exe\" " +
"-targetdir:\"c:\\projects\\MyTests\\bin\\Debug\" " +
"-targetargs \"\\\"c:\\projects\\MyTests\\bin\\Debug\\MyTests.dll\\\" /noxml /results=\\\"d:\\temp\\results.txt\\\"\" " +
"-targetargs:\"\\\"c:\\projects\\MyTests\\bin\\Debug\\MyTests.dll\\\" /noxml /results=\\\"d:\\temp\\results.txt\\\"\" " +
"-output:\"c:\\projects\\MyTests\\OpenCover\\coverage.xml\" " +
"-filter:\"+[MyTests]* \"";
@ -215,12 +215,12 @@ namespace ICSharpCode.CodeCoverage.Tests.Testing @@ -215,12 +215,12 @@ namespace ICSharpCode.CodeCoverage.Tests.Testing
string GetCodeCoverageCommandLine()
{
return
"\"d:\\sharpdevelop\\bin\\Tools\\PartCover\\PartCover.exe\" " +
"--target \"d:\\sharpdevelop\\bin\\Tools\\NUnit\\nunit-console-x86.exe\" " +
"--target-work-dir \"c:\\projects\\MyTests\\bin\\Debug\" " +
"--target-args \"\\\"c:\\projects\\MyTests\\bin\\Debug\\MyTests.dll\\\" /noxml\" " +
"--output \"c:\\projects\\MyTests\\PartCover\\coverage.xml\" " +
"--include [*]*";
"\"d:\\sharpdevelop\\bin\\Tools\\OpenCover\\OpenCover.Console.exe\" -register:user " +
"-target:\"d:\\sharpdevelop\\bin\\Tools\\NUnit\\nunit-console-x86.exe\" " +
"-targetdir:\"c:\\projects\\MyTests\\bin\\Debug\" " +
"-targetargs:\"\\\"c:\\projects\\MyTests\\bin\\Debug\\MyTests.dll\\\" /noxml\" " +
"-output:\"c:\\projects\\MyTests\\OpenCover\\coverage.xml\" " +
"-filter:\"+[*]* \"";
}
[Test]

48
src/AddIns/Analysis/CodeCoverage/Test/Testing/PartCoverApplicationTests.cs → src/AddIns/Analysis/CodeCoverage/Test/Testing/OpenCoverApplicationTests.cs

@ -17,22 +17,22 @@ namespace ICSharpCode.CodeCoverage.Tests.Testing @@ -17,22 +17,22 @@ namespace ICSharpCode.CodeCoverage.Tests.Testing
NUnitConsoleApplication nunitConsoleApp;
SelectedTests selectedTests;
UnitTestingOptions options;
OpenCoverApplication partCoverApp;
OpenCoverSettings partCoverSettings;
OpenCoverApplication openCoverApp;
OpenCoverSettings openCoverSettings;
[Test]
public void FileNameWhenPartCoverApplicationConstructedWithFileNameParameterMatchesFileNameParameter()
{
string expectedFileName = @"d:\projects\PartCover.exe";
CreatePartCoverApplication(expectedFileName);
Assert.AreEqual(expectedFileName, partCoverApp.FileName);
CreateOpenCoverApplication(expectedFileName);
Assert.AreEqual(expectedFileName, openCoverApp.FileName);
}
void CreatePartCoverApplication(string fileName)
void CreateOpenCoverApplication(string fileName)
{
CreateNUnitConsoleApplication();
partCoverSettings = new OpenCoverSettings();
partCoverApp = new OpenCoverApplication(fileName, nunitConsoleApp, partCoverSettings);
openCoverSettings = new OpenCoverSettings();
openCoverApp = new OpenCoverApplication(fileName, nunitConsoleApp, openCoverSettings);
}
void CreateNUnitConsoleApplication()
@ -50,13 +50,13 @@ namespace ICSharpCode.CodeCoverage.Tests.Testing @@ -50,13 +50,13 @@ namespace ICSharpCode.CodeCoverage.Tests.Testing
FileUtility.ApplicationRootPath = @"d:\sharpdevelop";
CreatePartCoverApplicationWithoutFileName();
string expectedPath = @"d:\sharpdevelop\bin\Tools\OpenCover\OpenCover.Console.exe";
Assert.AreEqual(expectedPath, partCoverApp.FileName);
Assert.AreEqual(expectedPath, openCoverApp.FileName);
}
void CreatePartCoverApplicationWithoutFileName()
{
CreateNUnitConsoleApplication();
partCoverApp = new OpenCoverApplication(nunitConsoleApp, new OpenCoverSettings());
openCoverApp = new OpenCoverApplication(nunitConsoleApp, new OpenCoverSettings());
}
[Test]
@ -65,27 +65,27 @@ namespace ICSharpCode.CodeCoverage.Tests.Testing @@ -65,27 +65,27 @@ namespace ICSharpCode.CodeCoverage.Tests.Testing
FileUtility.ApplicationRootPath = @"d:\sharpdevelop\..\sharpdevelop";
CreatePartCoverApplicationWithoutFileName();
string expectedPath = @"d:\sharpdevelop\bin\Tools\OpenCover\OpenCover.Console.exe";
Assert.AreEqual(expectedPath, partCoverApp.FileName);
Assert.AreEqual(expectedPath, openCoverApp.FileName);
}
[Test]
public void TargetIsNUnitConsoleApplicationFileName()
{
CreatePartCoverApplication();
Assert.AreEqual(nunitConsoleApp.FileName, partCoverApp.Target);
Assert.AreEqual(nunitConsoleApp.FileName, openCoverApp.Target);
}
void CreatePartCoverApplication()
{
string fileName = @"d:\partcover\PartCover.exe";
CreatePartCoverApplication(fileName);
CreateOpenCoverApplication(fileName);
}
[Test]
public void GetTargetArgumentsReturnsNUnitConsoleApplicationCommandLineArguments()
{
CreatePartCoverApplication();
Assert.AreEqual(nunitConsoleApp.GetArguments(), partCoverApp.GetTargetArguments());
Assert.AreEqual(nunitConsoleApp.GetArguments(), openCoverApp.GetTargetArguments());
}
[Test]
@ -93,7 +93,7 @@ namespace ICSharpCode.CodeCoverage.Tests.Testing @@ -93,7 +93,7 @@ namespace ICSharpCode.CodeCoverage.Tests.Testing
{
CreatePartCoverApplication();
string expectedTargetWorkingDirectory = @"c:\projects\MyTests\bin\Debug";
Assert.AreEqual(expectedTargetWorkingDirectory, partCoverApp.GetTargetWorkingDirectory());
Assert.AreEqual(expectedTargetWorkingDirectory, openCoverApp.GetTargetWorkingDirectory());
}
[Test]
@ -103,22 +103,22 @@ namespace ICSharpCode.CodeCoverage.Tests.Testing @@ -103,22 +103,22 @@ namespace ICSharpCode.CodeCoverage.Tests.Testing
string expectedOutputDirectory =
@"c:\projects\MyTests\OpenCover\coverage.xml";
Assert.AreEqual(expectedOutputDirectory, partCoverApp.CodeCoverageResultsFileName);
Assert.AreEqual(expectedOutputDirectory, openCoverApp.CodeCoverageResultsFileName);
}
[Test]
public void SettingsReturnsPartCoverSettingsPassedToConstructor()
{
CreatePartCoverApplication();
Assert.AreEqual(partCoverSettings, partCoverApp.Settings);
Assert.AreEqual(openCoverSettings, openCoverApp.Settings);
}
[Test]
public void GetProcessStartInfoReturnsStartInfoWhereFileNameIsPartCoverAppFileName()
{
string partCoverAppFileName = @"d:\projects\partcover.exe";
CreatePartCoverApplication(partCoverAppFileName);
ProcessStartInfo processStartInfo = partCoverApp.GetProcessStartInfo();
CreateOpenCoverApplication(partCoverAppFileName);
ProcessStartInfo processStartInfo = openCoverApp.GetProcessStartInfo();
Assert.AreEqual(partCoverAppFileName, processStartInfo.FileName);
}
@ -128,7 +128,7 @@ namespace ICSharpCode.CodeCoverage.Tests.Testing @@ -128,7 +128,7 @@ namespace ICSharpCode.CodeCoverage.Tests.Testing
{
FileUtility.ApplicationRootPath = @"d:\sharpdevelop";
CreatePartCoverApplication();
ProcessStartInfo processStartInfo = partCoverApp.GetProcessStartInfo();
ProcessStartInfo processStartInfo = openCoverApp.GetProcessStartInfo();
string expectedCommandLine =
"-register:user -target:\"d:\\sharpdevelop\\bin\\Tools\\NUnit\\nunit-console-x86.exe\" " +
@ -146,13 +146,13 @@ namespace ICSharpCode.CodeCoverage.Tests.Testing @@ -146,13 +146,13 @@ namespace ICSharpCode.CodeCoverage.Tests.Testing
FileUtility.ApplicationRootPath = @"d:\sharpdevelop";
CreatePartCoverApplication();
partCoverSettings.Include.Add("[MyTests]*");
partCoverSettings.Include.Add("[MoreTests]*");
openCoverSettings.Include.Add("[MyTests]*");
openCoverSettings.Include.Add("[MoreTests]*");
partCoverSettings.Exclude.Add("[NUnit.Framework]*");
partCoverSettings.Exclude.Add("[MyProject]*");
openCoverSettings.Exclude.Add("[NUnit.Framework]*");
openCoverSettings.Exclude.Add("[MyProject]*");
ProcessStartInfo processStartInfo = partCoverApp.GetProcessStartInfo();
ProcessStartInfo processStartInfo = openCoverApp.GetProcessStartInfo();
string expectedCommandLine =
"-register:user -target:\"d:\\sharpdevelop\\bin\\Tools\\NUnit\\nunit-console-x86.exe\" " +

38
src/AddIns/Analysis/CodeCoverage/Test/Testing/RunTestWithCodeCoverageCommandTests.cs

@ -3,9 +3,6 @@ @@ -3,9 +3,6 @@
using System;
using System.IO;
using System.Text;
using ICSharpCode.CodeCoverage;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.UnitTesting;
@ -189,15 +186,32 @@ namespace ICSharpCode.CodeCoverage.Tests.Testing @@ -189,15 +186,32 @@ namespace ICSharpCode.CodeCoverage.Tests.Testing
TextReader CreateCodeCoverageResultsTextReader()
{
string xml =
"<PartCoverReport>\r\n" +
" <File id='1' url='c:\\Projects\\MyTests\\MyTestFixture.cs'/>\r\n" +
" <Assembly id='1' name='MyTests' module='C:\\Projects\\MyTests\\bin\\MyTests.DLL' domain='test-domain.Tests.dll' domainIdx='1' />\r\n" +
" <Type name='MyTests.Tests.MyTestFixture' asmref='1'>\r\n" +
" <Method name='SimpleTest1'>\r\n" +
" <pt visit='12' sl='20' sc='3' el='20' ec='4' fid='1' />\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" +
" <Modules>\r\n" +
" <Module hash=\"44-54-B6-13-97-49-45-F8-6A-74-9E-49-0C-77-87-C6-9C-54-47-7A\">\r\n" +
" <FullName>C:\\Projects\\MyTests\\bin\\MyTests.DLL</FullName>\r\n" +
" <ModuleName>MyTests</ModuleName>\r\n" +
" <Files>\r\n" +
" <File uid=\"1\" fullPath=\"c:\\Projects\\MyTests\\MyTestFixture.cs\" />\r\n" +
" </Files>\r\n" +
" <Classes>\r\n" +
" <Class>\r\n" +
" <FullName>MyTests.Tests.MyTestFixture</FullName>\r\n" +
" <Methods>\r\n" +
" <Method visited=\"true\" cyclomaticComplexity=\"1\" sequenceCoverage=\"100\" branchCoverage=\"100\" isConstructor=\"false\" isStatic=\"false\" isGetter=\"false\" isSetter=\"false\">\r\n" +
" <MetadataToken>100663297</MetadataToken>\r\n" +
" <Name>System.Void MyTests.Tests.MyTestFixture::SimpleTest1()</Name>\r\n" +
" <FileRef uid=\"1\" />\r\n" +
" <SequencePoints>\r\n" +
" <SequencePoint vc='12' sl='20' sc='3' el='20' ec='4'/>\r\n" +
" </SequencePoints>\r\n" +
" </Method>\r\n" +
" </Methods>\r\n" +
" </Class>\r\n" +
" </Classes>\r\n" +
" </Module>\r\n" +
" </Modules>\r\n" +
"</CoverageSession>";
return new StringReader(xml);
}

Loading…
Cancel
Save