From 92649e389868440cf1c61091b7d54ff1e10d1f09 Mon Sep 17 00:00:00 2001
From: bstadick <2057235+bstadick@users.noreply.github.com>
Date: Sat, 22 Jan 2022 15:53:29 -0600
Subject: [PATCH] Add samples for Assert.Multiple which is supported by NUnit
3.6+ as referenced in issue #89.
---
.../nunit.runner.tests/TestsMultipleSample.cs | 114 ++++++++++++++++++
tests/nunit.runner.tests/TestsSample.cs | 1 +
.../nunit.runner.tests.projitems | 1 +
3 files changed, 116 insertions(+)
create mode 100644 tests/nunit.runner.tests/TestsMultipleSample.cs
diff --git a/tests/nunit.runner.tests/TestsMultipleSample.cs b/tests/nunit.runner.tests/TestsMultipleSample.cs
new file mode 100644
index 0000000..f39d14c
--- /dev/null
+++ b/tests/nunit.runner.tests/TestsMultipleSample.cs
@@ -0,0 +1,114 @@
+// ***********************************************************************
+// Copyright (c) 2022 NUnit Project
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+// ***********************************************************************
+
+using System;
+using NUnit.Framework;
+
+namespace NUnit.Runner.Tests
+{
+ [TestFixture]
+ [Author("Rob Prouse")]
+ public class TestsMultipleSample
+ {
+ [SetUp]
+ public void Setup() { }
+
+
+ [TearDown]
+ public void Tear() { }
+
+ [Test]
+ [Category("Passing")]
+ public void PassMultiple()
+ {
+ Assert.Multiple(() =>
+ {
+ TestContext.WriteLine("Capture some output");
+ Assert.True(true);
+ Assert.True(true);
+ });
+ }
+
+ [Test]
+ [Category("Failing")]
+ [Author("Code Monkey")]
+ public void FailMultiple()
+ {
+ Assert.Multiple(() =>
+ {
+ Assert.True(true);
+ Assert.True(false);
+ Assert.True(true);
+ Assert.True(false);
+ });
+ }
+
+ [Test]
+ [Ignore("another time")]
+ public void IgnoreMultiple()
+ {
+ Assert.Multiple(() =>
+ {
+ Assert.True(true);
+ Assert.True(false);
+ Assert.True(true);
+ Assert.True(false);
+ });
+ }
+
+ [Test]
+ [Explicit("This is only run on demand")]
+ public void ExplicitMultiple()
+ {
+ Assert.Multiple(() =>
+ {
+ Assert.True(true);
+ Assert.True(true);
+ });
+ }
+
+ // Note that Assert.Pass, Assert.Ignore, Assert.Inconclusive, and Assume.That may not be used inside a multiple assert block
+
+ [Test]
+ public void ErrorMultiple()
+ {
+ Assert.Multiple(() =>
+ {
+ Assert.True(true);
+ TestContext.WriteLine("I am about to throw!!!");
+ throw new NotSupportedException("This method isn't ready yet");
+ });
+ }
+
+ [Test]
+ public void WarningMultiple()
+ {
+ Assert.Multiple(() =>
+ {
+ Assert.True(true);
+ Assert.Warn("Warning");
+ Assert.Warn("Another Warning");
+ });
+ }
+ }
+}
diff --git a/tests/nunit.runner.tests/TestsSample.cs b/tests/nunit.runner.tests/TestsSample.cs
index c847c5b..5716bd7 100644
--- a/tests/nunit.runner.tests/TestsSample.cs
+++ b/tests/nunit.runner.tests/TestsSample.cs
@@ -84,6 +84,7 @@ public void Error()
public void Warning()
{
Assert.Warn("Warning");
+ Assert.Warn("Another Warning");
}
}
}
diff --git a/tests/nunit.runner.tests/nunit.runner.tests.projitems b/tests/nunit.runner.tests/nunit.runner.tests.projitems
index 821a650..f5f4bae 100644
--- a/tests/nunit.runner.tests/nunit.runner.tests.projitems
+++ b/tests/nunit.runner.tests/nunit.runner.tests.projitems
@@ -12,6 +12,7 @@
+
\ No newline at end of file