Example #1
0
        public void CanLoadEmptyProject()
        {
            using (TestResource file = new TestResource("NUnitProject_EmptyProject.nunit"))
            {
                IProject project = _loader.LoadFrom(file.Path);

                Assert.That(project.ProjectPath, Is.EqualTo(file.Path));
                Assert.That(project.ConfigNames.Count, Is.EqualTo(0));
                Assert.Null(project.ActiveConfigName);
            }
        }
        public void CanLoadVsProject(string resourceName, string[] configs, string assemblyName)
        {
            Assert.That(_loader.CanLoadFrom(resourceName));

            using (TestResource file = new TestResource(resourceName))
            {
                IProject project = _loader.LoadFrom(file.Path);

                Assert.That(project.ConfigNames, Is.EqualTo(configs));

                foreach (var config in configs)
                {
                    TestPackage package = project.GetTestPackage(config);

                    Assert.AreEqual(resourceName, package.Name);
                    Assert.AreEqual(1, package.SubPackages.Count);
                    Assert.AreEqual(assemblyName, Path.GetFileNameWithoutExtension(package.SubPackages[0].FullName));
                    Assert.That(package.Settings.ContainsKey("BasePath"));
                    Assert.That(Path.GetDirectoryName(package.SubPackages[0].FullName), Is.SamePath((string)package.Settings["BasePath"]));
                }
            }
        }
Example #3
0
        public void LoadEmptyConfigs()
        {
            using (TestResource file = new TestResource("NUnitProject_EmptyConfigs.nunit"))
            {
                IProject project = _loader.LoadFrom(file.Path);

                var projectDir = Path.GetDirectoryName(file.Path);

                Assert.AreEqual(2, project.ConfigNames.Count);
                Assert.AreEqual("Debug", project.ActiveConfigName);
                Assert.AreEqual(new string[] { "Debug", "Release" }, project.ConfigNames);

                TestPackage package1 = project.GetTestPackage("Debug");
                Assert.AreEqual(2, package1.Settings.Count);
                Assert.AreEqual(true, package1.Settings["AutoBinPath"], "AutoBinPath");
                Assert.AreEqual(projectDir, package1.Settings["BasePath"], "BasePath");

                TestPackage package2 = project.GetTestPackage("Release");
                Assert.AreEqual(2, package2.Settings.Count);
                Assert.AreEqual(true, package2.Settings["AutoBinPath"], "AutoBinPath");
                Assert.AreEqual(projectDir, package1.Settings["BasePath"], "BasePath");
            }
        }
 public void FromSolutionWithNonNunitTestProject()
 {
     using (new TestResource("csharp-sample.csproj", @"csharp-sample\csharp-sample.csproj"))
     using (new TestResource("csharp-debug-only-no-nunit.csproj", @"csharp-debug-only-no-nunit\csharp-debug-only-no-nunit.csproj"))
     using (TestResource file = new TestResource("solution-with-non-nunit-project.sln"))
     {
         IProject project = _loader.LoadFrom(file.Path);
         Assert.AreEqual(2, project.ConfigNames.Count);
         Assert.AreEqual(1, project.GetTestPackage("Release").SubPackages.Count, "Release should have 2 assemblies");
         Assert.AreEqual(1, project.GetTestPackage("Debug").SubPackages.Count, "Debug should have 1 assembly");
     }
 }
        public void WithUnmanagedCpp()
        {
            using (new TestResource("legacy-csharp-sample.csproj", @"legacy-csharp-sample\legacy-csharp-sample.csproj"))
            using (new TestResource("legacy-cpp-unmanaged.vcproj", @"legacy-cpp-unmanaged\legacy-cpp-unmanaged.vcproj"))
            using (TestResource file = new TestResource("solution-with-unmanaged-cpp.sln"))
            {
                IProject project = _loader.LoadFrom(file.Path);

                Assert.AreEqual(2, project.ConfigNames.Count);
                Assert.AreEqual(2, project.GetTestPackage("Debug").SubPackages.Count);
                Assert.AreEqual(2, project.GetTestPackage("Release").SubPackages.Count);
            }
        }
 public void FromWebApplication()
 {
     using (new TestResource("legacy-csharp-sample.csproj", @"legacy-csharp-sample\legacy-csharp-sample.csproj"))
     using (TestResource file = new TestResource("solution-with-web-application.sln"))
     {
         IProject project = _loader.LoadFrom(file.Path);
         Assert.AreEqual(2, project.ConfigNames.Count);
         Assert.AreEqual(1, project.GetTestPackage("Debug").SubPackages.Count);
         Assert.AreEqual(1, project.GetTestPackage("Release").SubPackages.Count);
     }
 }
        public void FromVSSolution2005()
        {
            using (new TestResource("csharp-sample.csproj", @"csharp\csharp-sample.csproj"))
            using (new TestResource("jsharp-sample.vjsproj", @"jsharp\jsharp-sample.vjsproj"))
            using (new TestResource("vb-sample.vbproj", @"vb\vb-sample.vbproj"))
            using (new TestResource("cpp-sample.vcproj", @"cpp-sample\cpp-sample.vcproj"))
            using (TestResource file = new TestResource("samples.sln"))
            {
                IProject project = _loader.LoadFrom(file.Path);

                Assert.AreEqual(2, project.ConfigNames.Count);
                Assert.AreEqual(4, project.GetTestPackage("Debug").SubPackages.Count);
                Assert.AreEqual(4, project.GetTestPackage("Release").SubPackages.Count);
            }
        }
Example #8
0
        public void LoadNormalProject(string resourceName)
        {
            using (TestResource file = new TestResource(resourceName))
            {
                IProject _project = _loader.LoadFrom(file.Path);

                var projectDir = Path.GetDirectoryName(file.Path);
                var binDir = Path.Combine(projectDir, "bin");
                var debugDir = Path.Combine(binDir, "debug");
                var releaseDir = Path.Combine(binDir, "release");

                Assert.AreEqual(2, _project.ConfigNames.Count);
                Assert.AreEqual("Debug", _project.ActiveConfigName);
                Assert.AreEqual(new string[] { "Debug", "Release" }, _project.ConfigNames);

                TestPackage package1 = _project.GetTestPackage("Debug");
                Assert.AreEqual(2, package1.SubPackages.Count);
                Assert.AreEqual(
                    Path.Combine(debugDir, "assembly1.dll"),
                    package1.SubPackages[0].FullName);
                Assert.AreEqual(
                    Path.Combine(debugDir, "assembly2.dll"),
                    package1.SubPackages[1].FullName);

                Assert.AreEqual(2, package1.Settings.Count);
                Assert.AreEqual(debugDir, package1.Settings["BasePath"], "BasePath");
                Assert.AreEqual(true, package1.Settings["AutoBinPath"], "AutoBinPath");

                TestPackage package2 = _project.GetTestPackage("Release");
                Assert.AreEqual(2, package2.SubPackages.Count);
                Assert.AreEqual(
                    Path.Combine(releaseDir, "assembly1.dll"),
                    package2.SubPackages[0].FullName);
                Assert.AreEqual(
                    Path.Combine(releaseDir, "assembly2.dll"),
                    package2.SubPackages[1].FullName);

                Assert.AreEqual(2, package2.Settings.Count);
                Assert.AreEqual(releaseDir, package2.Settings["BasePath"]);
                Assert.AreEqual(true, package2.Settings["AutoBinPath"]);

                Assert.Throws<NUnitEngineException>(() => _project.GetTestPackage("MissingConfiguration"), 
                "Project loader should throw exception when attempting to use missing configuration");
            }
        }
Example #9
0
        public void LoadProjectWithComplexSettings()
        {
            using (TestResource file = new TestResource("NUnitProject_ComplexSettings.nunit"))
            {
                IProject project = _loader.LoadFrom(file.Path);

                var projectDir = Path.GetDirectoryName(file.Path);
                var binDir = Path.Combine(projectDir, "bin");
                var debugDir = Path.Combine(binDir, "debug");
                var releaseDir = Path.Combine(binDir, "release");

                Assert.AreEqual(2, project.ConfigNames.Count);

                TestPackage package1 = project.GetTestPackage("Debug");
                Assert.AreEqual(5, package1.Settings.Count);
                Assert.AreEqual(debugDir, package1.Settings["BasePath"]);
                Assert.AreEqual(true, package1.Settings["AutoBinPath"]);
                Assert.AreEqual("Separate", package1.Settings["ProcessModel"]);
                Assert.AreEqual("Multiple", package1.Settings["DomainUsage"]);
                Assert.AreEqual("v2.0", package1.Settings["RuntimeFramework"]);

                Assert.AreEqual(2, package1.SubPackages.Count);
                Assert.AreEqual(
                    Path.Combine(debugDir, "assembly1.dll"),
                    package1.SubPackages[0].FullName);
                Assert.AreEqual(
                    Path.Combine(debugDir, "assembly2.dll"),
                    package1.SubPackages[1].FullName);

                TestPackage package2 = project.GetTestPackage("Release");
                Assert.AreEqual(5, package2.Settings.Count);
                Assert.AreEqual(releaseDir, package2.Settings["BasePath"]);
                Assert.AreEqual(true, package2.Settings["AutoBinPath"]);
                Assert.AreEqual("Separate", package2.Settings["ProcessModel"]);
                Assert.AreEqual("Multiple", package2.Settings["DomainUsage"]);
                Assert.AreEqual("v4.0", package2.Settings["RuntimeFramework"]);

                Assert.AreEqual(2, package2.SubPackages.Count);
                Assert.AreEqual(
                    Path.Combine(releaseDir, "assembly1.dll"),
                    package2.SubPackages[0].FullName);
                Assert.AreEqual(
                    Path.Combine(releaseDir, "assembly2.dll"),
                    package2.SubPackages[1].FullName);
            }
        }
Example #10
0
        public void LoadProjectWithManualBinPath()
        {
            using (TestResource file = new TestResource("NUnitProject_ManualBinPath.nunit"))
            {
                IProject project = _loader.LoadFrom(file.Path);

                var projectDir = Path.GetDirectoryName(file.Path);

                Assert.AreEqual(1, project.ConfigNames.Count);

                TestPackage package1 = project.GetTestPackage("Debug");
                Assert.AreEqual(2, package1.Settings.Count);
                Assert.AreEqual("bin_path_value", package1.Settings["PrivateBinPath"], "PrivateBinPath");
                Assert.AreEqual(projectDir, package1.Settings["BasePath"], "BasePath");
            }
        }
        public void LoadNormalProject()
        {
            using (TestResource file = new TestResource("NUnitProject.nunit"))
            {
                IProject _project = _loader.LoadFrom(file.Path);

                var projectDir = Path.GetDirectoryName(file.Path);
                var binDir = Path.Combine(projectDir, "bin");
                var debugDir = Path.Combine(binDir, "debug");
                var releaseDir = Path.Combine(binDir, "release");

                Assert.AreEqual(2, _project.ConfigNames.Count);
                Assert.AreEqual("Debug", _project.ActiveConfigName);
                Assert.AreEqual(new string[] { "Debug", "Release" }, _project.ConfigNames);

                TestPackage package1 = _project.GetTestPackage("Debug");
                Assert.AreEqual(2, package1.SubPackages.Count);
                Assert.AreEqual(
                    Path.Combine(debugDir, "assembly1.dll"),
                    package1.SubPackages[0].FullName);
                Assert.AreEqual(
                    Path.Combine(debugDir, "assembly2.dll"),
                    package1.SubPackages[1].FullName);

                Assert.AreEqual(2, package1.Settings.Count);
                Assert.AreEqual(debugDir, package1.Settings["BasePath"], "BasePath");
                Assert.AreEqual(true, package1.Settings["AutoBinPath"], "AutoBinPath");

                TestPackage package2 = _project.GetTestPackage("Release");
                Assert.AreEqual(2, package2.SubPackages.Count);
                Assert.AreEqual(
                    Path.Combine(releaseDir, "assembly1.dll"),
                    package2.SubPackages[0].FullName);
                Assert.AreEqual(
                    Path.Combine(releaseDir, "assembly2.dll"),
                    package2.SubPackages[1].FullName);

                Assert.AreEqual(2, package2.Settings.Count);
                Assert.AreEqual(releaseDir, package2.Settings["BasePath"]);
                Assert.AreEqual(true, package2.Settings["AutoBinPath"]);
            }
        }