protected override void AddTestsCs(IsolatedWorkspace workspace) { workspace.AddFile("Issue774.cs", @" using System; using NUnit.Framework; namespace Issue774 { public class ConsoleOutTest { [Test] public void Test1() { Console.WriteLine(); // Did not work pre-Issue774 fix Assert.Pass(); } [Test] public void Test2() { Console.WriteLine(""Does work""); Assert.Pass(); } } }"); }
protected override void AddTestsCs(IsolatedWorkspace workspace) { workspace.AddFile("Tests.cs", @" using NUnit.Framework; namespace Filter { public class Tests { [Test,Category(""FooGroup""),Category(""AllGroup"")] public void Foo() { Assert.Pass(); } [Test,Explicit,Category(""IsExplicit""),Category(""FooGroup""),Category(""AllGroup"")] public void FooExplicit() { Assert.Pass(); } [Test, Category(""BarGroup""),Category(""AllGroup"")] public void Bar() { Assert.Pass(); } } }"); }
protected override void AddTestsCs(IsolatedWorkspace workspace) { workspace.AddFile("Issue779.cs", @" using System; using NUnit.Framework; namespace Issue779 { public class PropertyTest { [Property(""Bug"", ""12345"")] [Test] public void Test1() { Assert.Pass(); } [Test] public void Test2() { Assert.Pass(); } } }"); }
private static void AddPackagesConfig(IsolatedWorkspace workspace) { workspace.AddFile("packages.config", $@" <?xml version='1.0' encoding='utf-8'?> <packages> <package id='Microsoft.CodeCoverage' version='15.9.0' targetFramework='net45' /> <package id='Microsoft.NET.Test.Sdk' version='15.9.0' targetFramework='net45' /> <package id='NUnit' version='3.11.0' targetFramework='net45' /> <package id='NUnit3TestAdapter' version='{NuGetPackageVersion}' targetFramework='net45' /> </packages>"); }
private static void AddTestsVb(IsolatedWorkspace workspace) { workspace.AddFile("Tests.vb", @" Imports NUnit.Framework Namespace Test Public Class Tests <Test> Public Sub PassingTest() Assert.Pass() End Sub End Class End Namespace"); }
private static void AddTestsCs(IsolatedWorkspace workspace) { workspace.AddFile("Tests.cs", @" using NUnit.Framework; namespace Test { public class Tests { [Test] public void PassingTest() { Assert.Pass(); } } }"); }
protected override void AddTestsCs(IsolatedWorkspace workspace) { workspace.AddFile("Issue919.cs", @" using System; using NUnit.Framework; namespace Issue919 { public class Foo { [TestCase(1)] public void Baz(int a) { Assert.Pass(); } [Test] public void Bzzt() { Assert.Pass(); } } }"); }
protected override void AddTestsCs(IsolatedWorkspace workspace) { workspace.AddFile("Issue918.cs", @" using System; using NUnit.Framework; namespace Issue918 { [Category(""918"")] [TestFixtureSource(typeof(FixtureSources), nameof(FixtureSources.Types))] public class SomeTest<T> { [Test] public void Foo() { Assert.Pass(); } } public static class FixtureSources { public static Type[] Types = { typeof(object) }; } }"); workspace.AddFile("Issue869.cs", @" using NUnit.Framework; using System; using System.Collections.Generic; namespace Issue869 { public static class Sources { public static IEnumerable<Type> GetTypes() => new List<Type> { typeof(string), typeof(bool) }; } [Category(""869"")] [TestFixtureSource(typeof(Sources), nameof(Sources.GetTypes))] public class Tests<T> { [Test] public void SomeRandomTest() { } } }"); workspace.AddFile("Issue884.SetupFixture.cs", @" using NUnit.Framework; namespace NUnitTestAdapterIssueRepro { [SetUpFixture] public class SetupFixture { [OneTimeSetUp] public void OneTimeSetup() { } [OneTimeTearDown] public void OneTimeTeardown() { } } }"); workspace.AddFile("Issue884.Tests.cs", @" using NUnit.Framework; namespace NUnitTestAdapterIssueRepro { [Category(""884"")] [TestFixture(1)] [TestFixture(2)] [TestFixture(3)] public class Fixture { public Fixture(int n) { } [SetUp] public void Setup() { } [Test] public void Test() { Assert.Pass(); } } }"); }
private static void AddTestsCs(IsolatedWorkspace workspace) { workspace.AddFile("Tests.cs", @" using System; using System.Collections; using System.Collections.Generic; using NUnit.Framework; namespace Test { public class Tests { [Test] [TestCaseSource(nameof(TestCaseSourceMethod))] public void PassingTestStr(object arg) { Assert.Pass(); } private static IEnumerable<TestCaseData> TestCaseSourceMethod() { yield return new TestCaseData(""Name with mismatched parenthesis 'pp:-) :-)'"").SetName(""Name with mismatched parenthesis 'pp:-) :-)'""); yield return new TestCaseData(""Name with mismatched quote '\""c'"").SetName(""Name with mismatched quote '\""c'""); // Adding a parenthesis to the end of this test name will stop the exception from throwing (e.g. $""TestName(...)"") yield return new TestCaseData(1).SetName($""TestName(...""); // Cannot be duplicated without a second test included that ends with a ']' yield return new TestCaseData(2).SetName($""TestName(...)]""); } [Test] [TestCase(typeof(IEnumerable<(string oneValue, int twoValue)>))] public void UnitTest_TestCaseWithTuple_TestIsNotExecuted(Type targetType) { Assert.That(targetType, Is.EqualTo(typeof(IEnumerable<(string oneValue, int twoValue)>))); } [Test, TestCaseSource(nameof(SourceA))] public void TestA((int a, int b) x, int y) { } public static IEnumerable SourceA => new[] {new TestCaseData((a: 1, b: 2), 5)}; [Test, TestCaseSource(nameof(SourceB))] public void TestB(int y, (int a, int b) x) { } public static IEnumerable SourceB => new[] {new TestCaseData(5, (a: 1, b: 2))}; [Test, TestCaseSource(nameof(SourceC))] public void TestC((int a, int b) x, int y) { } public static IEnumerable SourceC => new[] {new TestCaseData((a: 1, b: 2), 5).SetArgDisplayNames(""a+b"", ""y"")}; [Test(), TestCaseSource(typeof(CaseTestData), nameof(CaseTestData.EqualsData))] public void EqualsTest(Case case1, Case case2) { Assert.AreEqual(case1, case2); } public class CaseTestData { public static IEnumerable EqualsData() { yield return new object[] { new Case { Name = ""case1"" }, new Case { Name = ""case1"" } }; } } public class Case { public string Name; public override string ToString() => Name; public override bool Equals(object obj) => obj is Case other && other.Name == this.Name; } } }"); }
protected abstract void AddTestsCs(IsolatedWorkspace workspace);