From 12ceead5a6420b0417a111e9a43d36381dc4ec5f Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Fri, 14 Sep 2012 23:34:14 +0200 Subject: [PATCH] Re-enabling the first few UnitTesting.Tests. --- SharpDevelop.Tests.sln | 13 ++- .../NUnit/NUnitConsoleApplication.cs | 2 +- .../CreateNUnitTestRunnerTestFixture.cs | 42 -------- .../NUnit/CreateNUnitTestRunnerTestFixture.cs | 46 ++++++++ .../NUnitConsoleCommandLineTests.cs | 77 ++++++------- .../UnitTesting/Test/UnitTesting.Tests.csproj | 102 ++---------------- .../Project/Src/Completion/CompletionData.cs | 2 +- src/Main/SharpDevelop/SharpDevelop.csproj | 3 + 8 files changed, 101 insertions(+), 186 deletions(-) delete mode 100644 src/AddIns/Analysis/UnitTesting/Test/Frameworks/CreateNUnitTestRunnerTestFixture.cs create mode 100644 src/AddIns/Analysis/UnitTesting/Test/NUnit/CreateNUnitTestRunnerTestFixture.cs rename src/AddIns/Analysis/UnitTesting/Test/{Frameworks => NUnit}/NUnitConsoleCommandLineTests.cs (71%) diff --git a/SharpDevelop.Tests.sln b/SharpDevelop.Tests.sln index 2c17cd7782..6e1f86f498 100644 --- a/SharpDevelop.Tests.sln +++ b/SharpDevelop.Tests.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 -# SharpDevelop 4.3 +# SharpDevelop 5.0 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{256F5C28-532C-44C0-8AB8-D8EC5E492E01}" ProjectSection(SolutionItems) = postProject EndProjectSection @@ -143,6 +143,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analysis", "Analysis", "{B3 EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\Analysis\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting.Tests", "src\AddIns\Analysis\UnitTesting\Test\UnitTesting.Tests.csproj", "{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}" +EndProject Project("{00000000-0000-0000-0000-000000000000}") = "Tools", "src\Tools\Tools.build", "{3DF4060F-5EE0-41CF-8096-F27355FD5511}" EndProject Global @@ -545,6 +547,14 @@ Global {984CC812-9470-4A13-AFF9-CC44068D666C}.Release|Any CPU.ActiveCfg = Release|Any CPU {984CC812-9470-4A13-AFF9-CC44068D666C}.Release|x86.Build.0 = Release|Any CPU {984CC812-9470-4A13-AFF9-CC44068D666C}.Release|x86.ActiveCfg = Release|Any CPU + {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}.Debug|Any CPU.Build.0 = Debug|Any CPU + {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}.Debug|x86.Build.0 = Debug|Any CPU + {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}.Debug|x86.ActiveCfg = Debug|Any CPU + {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}.Release|Any CPU.Build.0 = Release|Any CPU + {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}.Release|Any CPU.ActiveCfg = Release|Any CPU + {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}.Release|x86.Build.0 = Release|Any CPU + {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}.Release|x86.ActiveCfg = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -606,5 +616,6 @@ Global {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {AF5E0DC1-1FA0-4346-A436-0C817C68F7C1} {A4C858C8-51B6-4265-A695-A20FCEBA1D19} = {AF5E0DC1-1FA0-4346-A436-0C817C68F7C1} {1F261725-6318-4434-A1B1-6C70CE4CD324} = {B3352C08-3CB4-4DD9-996F-B9DCE4356BB9} + {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181} = {B3352C08-3CB4-4DD9-996F-B9DCE4356BB9} EndGlobalSection EndGlobal diff --git a/src/AddIns/Analysis/UnitTesting/NUnit/NUnitConsoleApplication.cs b/src/AddIns/Analysis/UnitTesting/NUnit/NUnitConsoleApplication.cs index 6b2ba94287..5ae1495847 100644 --- a/src/AddIns/Analysis/UnitTesting/NUnit/NUnitConsoleApplication.cs +++ b/src/AddIns/Analysis/UnitTesting/NUnit/NUnitConsoleApplication.cs @@ -30,7 +30,7 @@ namespace ICSharpCode.UnitTesting void Initialize(IEnumerable selectedTests) { // TODO: support running multiple tests - ITest test = selectedTests.First(); + ITest test = selectedTests.FirstOrDefault(); this.project = test.ParentProject.Project; Assemblies.Add(project.OutputAssemblyFullPath); if (test is TestNamespace) { diff --git a/src/AddIns/Analysis/UnitTesting/Test/Frameworks/CreateNUnitTestRunnerTestFixture.cs b/src/AddIns/Analysis/UnitTesting/Test/Frameworks/CreateNUnitTestRunnerTestFixture.cs deleted file mode 100644 index 1341e09d56..0000000000 --- a/src/AddIns/Analysis/UnitTesting/Test/Frameworks/CreateNUnitTestRunnerTestFixture.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) -// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) - -using System; -using ICSharpCode.Core; -using ICSharpCode.SharpDevelop; -using ICSharpCode.UnitTesting; -using NUnit.Framework; - -namespace UnitTesting.Tests.Frameworks -{ - [TestFixture] - public class CreateNUnitTestRunnerTestFixture - { - [TestFixtureSetUp] - public void SetUpFixture() - { - SD.InitializeForUnitTests(); - } - - [Test] - public void NUnitTestFrameworkCreateTestRunnerReturnsNUnitTestRunner() - { - NUnitTestFramework testFramework = new NUnitTestFramework(); - Assert.IsInstanceOf(typeof(NUnitTestRunner), testFramework.CreateTestRunner()); - } - - [Test] - public void NUnitTestFrameworkCreateTestDebuggerReturnsNUnitTestDebugger() - { - NUnitTestFramework testFramework = new NUnitTestFramework(); - Assert.IsInstanceOf(typeof(NUnitTestDebugger), testFramework.CreateTestDebugger()); - } - - [Test] - public void IsBuildNeededBeforeTestRunReturnsTrue() - { - NUnitTestFramework testFramework = new NUnitTestFramework(); - Assert.IsTrue(testFramework.IsBuildNeededBeforeTestRun); - } - } -} diff --git a/src/AddIns/Analysis/UnitTesting/Test/NUnit/CreateNUnitTestRunnerTestFixture.cs b/src/AddIns/Analysis/UnitTesting/Test/NUnit/CreateNUnitTestRunnerTestFixture.cs new file mode 100644 index 0000000000..5bc2f4a1bc --- /dev/null +++ b/src/AddIns/Analysis/UnitTesting/Test/NUnit/CreateNUnitTestRunnerTestFixture.cs @@ -0,0 +1,46 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; +using ICSharpCode.Core; +using ICSharpCode.SharpDevelop; +using ICSharpCode.UnitTesting; +using NUnit.Framework; +using Rhino.Mocks; +using ICSharpCode.SharpDevelop.Project; + +namespace UnitTesting.Tests.Frameworks +{ + [TestFixture] + public class CreateNUnitTestRunnerTestFixture + { + IProject project; + NUnitTestProject testProject; + + [TestFixtureSetUp] + public void SetUpFixture() + { + SD.InitializeForUnitTests(); + project = MockRepository.GenerateStub(); + testProject = new NUnitTestProject(project); + } + + [Test] + public void NUnitTestProjectCreateTestRunnerReturnsNUnitTestRunner() + { + Assert.IsInstanceOf(typeof(NUnitTestRunner), testProject.CreateTestRunner(new TestExecutionOptions())); + } + + [Test] + public void NUnitTestProjectCreateTestRunnerReturnsNUnitTestDebugger() + { + Assert.IsInstanceOf(typeof(NUnitTestDebugger), testProject.CreateTestRunner(new TestExecutionOptions { UseDebugger = true })); + } + + [Test] + public void NUnitTestProjectBuildsTheProject() + { + Assert.AreSame(project, testProject.GetBuildableForTesting()); + } + } +} diff --git a/src/AddIns/Analysis/UnitTesting/Test/Frameworks/NUnitConsoleCommandLineTests.cs b/src/AddIns/Analysis/UnitTesting/Test/NUnit/NUnitConsoleCommandLineTests.cs similarity index 71% rename from src/AddIns/Analysis/UnitTesting/Test/Frameworks/NUnitConsoleCommandLineTests.cs rename to src/AddIns/Analysis/UnitTesting/Test/NUnit/NUnitConsoleCommandLineTests.cs index af9aa7c5ac..9cc05fc6ae 100644 --- a/src/AddIns/Analysis/UnitTesting/Test/Frameworks/NUnitConsoleCommandLineTests.cs +++ b/src/AddIns/Analysis/UnitTesting/Test/NUnit/NUnitConsoleCommandLineTests.cs @@ -6,9 +6,11 @@ using System.Linq; using ICSharpCode.Core; using ICSharpCode.NRefactory.CSharp; using ICSharpCode.SharpDevelop.Project; +using ICSharpCode.SharpDevelop.Internal.Templates; using ICSharpCode.UnitTesting; +using ICSharpCode.NRefactory.TypeSystem.Implementation; using NUnit.Framework; -using UnitTesting.Tests.Project; +using Rhino.Mocks; using UnitTesting.Tests.Utils; namespace UnitTesting.Tests.Frameworks @@ -16,7 +18,8 @@ namespace UnitTesting.Tests.Frameworks [TestFixture] public class NUnitConsoleCommandLineTests { - CompilableProject project; + MockCSharpProject project; + NUnitTestProject testProject; [SetUp] public void SetUp() @@ -26,13 +29,14 @@ namespace UnitTesting.Tests.Frameworks project.AssemblyName = "MyTests"; project.OutputType = OutputType.Library; project.SetProperty("OutputPath", null); + + testProject = new NUnitTestProject(project); } [Test] public void TestResultsFile() { - SelectedTests selectedTests = new SelectedTests(project); - NUnitConsoleApplication app = new NUnitConsoleApplication(selectedTests); + NUnitConsoleApplication app = new NUnitConsoleApplication(new[] { testProject }); app.NoLogo = false; app.ShadowCopy = true; app.NoXmlOutputFile = false; @@ -45,8 +49,7 @@ namespace UnitTesting.Tests.Frameworks [Test] public void NoLogo() { - SelectedTests selectedTests = new SelectedTests(project); - NUnitConsoleApplication app = new NUnitConsoleApplication(selectedTests); + NUnitConsoleApplication app = new NUnitConsoleApplication(new[] { testProject }); app.NoLogo = true; app.ShadowCopy = true; app.NoXmlOutputFile = false; @@ -58,8 +61,7 @@ namespace UnitTesting.Tests.Frameworks [Test] public void NoShadowCopy() { - SelectedTests selectedTests = new SelectedTests(project); - NUnitConsoleApplication app = new NUnitConsoleApplication(selectedTests); + NUnitConsoleApplication app = new NUnitConsoleApplication(new[] { testProject }); app.NoLogo = false; app.ShadowCopy = false; app.NoXmlOutputFile = false; @@ -71,8 +73,7 @@ namespace UnitTesting.Tests.Frameworks [Test] public void NoThread() { - SelectedTests selectedTests = new SelectedTests(project); - NUnitConsoleApplication app = new NUnitConsoleApplication(selectedTests); + NUnitConsoleApplication app = new NUnitConsoleApplication(new[] { testProject }); app.NoLogo = false; app.ShadowCopy = true; app.NoThread = true; @@ -85,8 +86,7 @@ namespace UnitTesting.Tests.Frameworks [Test] public void NoDots() { - SelectedTests selectedTests = new SelectedTests(project); - NUnitConsoleApplication app = new NUnitConsoleApplication(selectedTests); + NUnitConsoleApplication app = new NUnitConsoleApplication(new[] { testProject }); app.NoLogo = false; app.ShadowCopy = true; app.NoDots = true; @@ -99,8 +99,7 @@ namespace UnitTesting.Tests.Frameworks [Test] public void Labels() { - SelectedTests selectedTests = new SelectedTests(project); - NUnitConsoleApplication app = new NUnitConsoleApplication(selectedTests); + NUnitConsoleApplication app = new NUnitConsoleApplication(new[] { testProject }); app.NoLogo = false; app.ShadowCopy = true; app.Labels = true; @@ -113,8 +112,7 @@ namespace UnitTesting.Tests.Frameworks [Test] public void TestFixture() { - SelectedTests selectedTests = new SelectedTests(project); - NUnitConsoleApplication app = new NUnitConsoleApplication(selectedTests); + NUnitConsoleApplication app = new NUnitConsoleApplication(new[] { testProject }); app.NoLogo = false; app.ShadowCopy = true; app.Fixture = "TestFixture"; @@ -127,8 +125,7 @@ namespace UnitTesting.Tests.Frameworks [Test] public void TestNamespace() { - SelectedTests selectedTests = new SelectedTests(project); - NUnitConsoleApplication app = new NUnitConsoleApplication(selectedTests); + NUnitConsoleApplication app = new NUnitConsoleApplication(new[] { testProject }); app.NoLogo = false; app.ShadowCopy = true; app.NamespaceFilter = "TestFixture"; @@ -141,8 +138,7 @@ namespace UnitTesting.Tests.Frameworks [Test] public void XmlOutputFile() { - SelectedTests selectedTests = new SelectedTests(project); - NUnitConsoleApplication app = new NUnitConsoleApplication(selectedTests); + NUnitConsoleApplication app = new NUnitConsoleApplication(new[] { testProject }); app.NoLogo = false; app.ShadowCopy = true; app.XmlOutputFile = @"C:\NUnit.xml"; @@ -155,8 +151,7 @@ namespace UnitTesting.Tests.Frameworks [Test] public void NoXmlWhenXmlOutputFileSpecified() { - SelectedTests selectedTests = new SelectedTests(project); - NUnitConsoleApplication app = new NUnitConsoleApplication(selectedTests); + NUnitConsoleApplication app = new NUnitConsoleApplication(new[] { testProject }); app.NoLogo = false; app.ShadowCopy = true; app.XmlOutputFile = @"C:\NUnit.xml"; @@ -169,8 +164,7 @@ namespace UnitTesting.Tests.Frameworks [Test] public void TestMethod() { - SelectedTests selectedTests = new SelectedTests(project); - NUnitConsoleApplication app = new NUnitConsoleApplication(selectedTests); + NUnitConsoleApplication app = new NUnitConsoleApplication(new[] { testProject }); app.NoLogo = false; app.ShadowCopy = true; app.Fixture = "TestFixture"; @@ -184,13 +178,9 @@ namespace UnitTesting.Tests.Frameworks [Test] public void TestMethodSpecifiedInInitialize() { - TestProject testProject = new ProjectTestFixtureBase().CreateNUnitProject( - SyntaxTree.Parse("class TestFixture { [NUnit.Framework.Test] public void Test() {} }", "test.cs").ToTypeSystem() - ); - TestClass testFixture = testProject.TestClasses.Single(); - TestMember testMethod = testFixture.Members.Single(); - SelectedTests selectedTests = new SelectedTests(project, null, testFixture, testMethod); - NUnitConsoleApplication app = new NUnitConsoleApplication(selectedTests); + var method = new DefaultUnresolvedMethod(new DefaultUnresolvedTypeDefinition("TestFixture"), "Test"); + var testMethod = new NUnitTestMethod(testProject, method); + NUnitConsoleApplication app = new NUnitConsoleApplication(new[] { testMethod }); app.NoLogo = false; app.ShadowCopy = true; app.NoXmlOutputFile = false; @@ -202,8 +192,8 @@ namespace UnitTesting.Tests.Frameworks [Test] public void TestNamespaceSpecifiedInInitialize() { - SelectedTests selectedTests = new SelectedTests(project, "Project.MyTests", null, null); - NUnitConsoleApplication app = new NUnitConsoleApplication(selectedTests); + var testNamespace = new TestNamespace(testProject, "Project.MyTests"); + NUnitConsoleApplication app = new NUnitConsoleApplication(new[] { testNamespace }); app.NoLogo = false; app.ShadowCopy = true; app.NoXmlOutputFile = false; @@ -215,8 +205,7 @@ namespace UnitTesting.Tests.Frameworks [Test] public void FullCommandLine() { - SelectedTests selectedTests = new SelectedTests(project); - NUnitConsoleApplication app = new NUnitConsoleApplication(selectedTests); + NUnitConsoleApplication app = new NUnitConsoleApplication(new[] { testProject }); app.NoLogo = true; app.ShadowCopy = true; app.NoXmlOutputFile = false; @@ -238,8 +227,7 @@ namespace UnitTesting.Tests.Frameworks [Test] public void SecondAssemblySpecified() { - SelectedTests selectedTests = new SelectedTests(project); - NUnitConsoleApplication app = new NUnitConsoleApplication(selectedTests); + NUnitConsoleApplication app = new NUnitConsoleApplication(new[] { testProject }); app.Assemblies.Add("SecondAssembly.dll"); app.NoLogo = false; app.ShadowCopy = true; @@ -256,8 +244,7 @@ namespace UnitTesting.Tests.Frameworks [Test] public void GetProject() { - SelectedTests selectedTests = new SelectedTests(project); - NUnitConsoleApplication app = new NUnitConsoleApplication(selectedTests); + NUnitConsoleApplication app = new NUnitConsoleApplication(new[] { testProject }); Assert.AreSame(project, app.Project); } @@ -271,16 +258,13 @@ namespace MyTests { } } "; - + /* [Test] public void TestInnerClassSpecifiedInInitialize() { - TestProject testProject = new ProjectTestFixtureBase().CreateNUnitProject( - SyntaxTree.Parse(testProgram, "test.cs").ToTypeSystem() - ); - - TestClass innerTest = testProject.TestClasses.Single().NestedClasses.Single(); - SelectedTests selectedTests = new SelectedTests(project, null, innerTest, null); + var outerClass = new DefaultUnresolvedTypeDefinition("MyTests", "TestFixture"); + var innerClass = new DefaultUnresolvedTypeDefinition(outerClass, "InnerTest"); + var innerTestClass = new NUnitTestClass(testProject, ); NUnitConsoleApplication app = new NUnitConsoleApplication(selectedTests); app.NoLogo = false; app.ShadowCopy = true; @@ -312,5 +296,6 @@ namespace MyTests { "/run=\"MyTests.TestFixture.MyTest\""; Assert.AreEqual(expectedCommandLine, app.GetArguments()); } + */ } } diff --git a/src/AddIns/Analysis/UnitTesting/Test/UnitTesting.Tests.csproj b/src/AddIns/Analysis/UnitTesting/Test/UnitTesting.Tests.csproj index f5ab794938..569a97059e 100644 --- a/src/AddIns/Analysis/UnitTesting/Test/UnitTesting.Tests.csproj +++ b/src/AddIns/Analysis/UnitTesting/Test/UnitTesting.Tests.csproj @@ -67,105 +67,13 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + SharpDevelop.exe Always - - - - - - - - - - - @@ -194,5 +102,9 @@ ICSharpCode.SharpDevelop + + + + \ No newline at end of file diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Completion/CompletionData.cs b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Completion/CompletionData.cs index f730af19ab..b37e13324d 100644 --- a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Completion/CompletionData.cs +++ b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Completion/CompletionData.cs @@ -37,7 +37,7 @@ namespace CSharpBinding.Completion public virtual void AddOverload(ICompletionData data) { - throw new InvalidOperationException(); + //throw new InvalidOperationException(); } string ICompletionItem.Text { diff --git a/src/Main/SharpDevelop/SharpDevelop.csproj b/src/Main/SharpDevelop/SharpDevelop.csproj index 4757bfdd82..683b7ca4a0 100644 --- a/src/Main/SharpDevelop/SharpDevelop.csproj +++ b/src/Main/SharpDevelop/SharpDevelop.csproj @@ -47,6 +47,9 @@ WinExe false + + $(SharpDevelopOutputType) + ..\..\Libraries\log4net\log4net.dll