Skip to content

Commit

Permalink
Add samples for Assert.Multiple which is supported by NUnit 3.6+ as r…
Browse files Browse the repository at this point in the history
…eferenced in issue nunit#89.
  • Loading branch information
bstadick committed Jan 22, 2022
1 parent 5f13104 commit 92649e3
Show file tree
Hide file tree
Showing 3 changed files with 116 additions and 0 deletions.
114 changes: 114 additions & 0 deletions tests/nunit.runner.tests/TestsMultipleSample.cs
Original file line number Diff line number Diff line change
@@ -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");
});
}
}
}
1 change: 1 addition & 0 deletions tests/nunit.runner.tests/TestsSample.cs
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ public void Error()
public void Warning()
{
Assert.Warn("Warning");
Assert.Warn("Another Warning");
}
}
}
1 change: 1 addition & 0 deletions tests/nunit.runner.tests/nunit.runner.tests.projitems
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
<Compile Include="$(MSBuildThisFileDirectory)AsyncTests.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Properties\AssemblyInfoCommon.cs" />
<Compile Include="$(MSBuildThisFileDirectory)TestCaseSample.cs" />
<Compile Include="$(MSBuildThisFileDirectory)TestsMultipleSample.cs" />
<Compile Include="$(MSBuildThisFileDirectory)TestsSample.cs" />
</ItemGroup>
</Project>

0 comments on commit 92649e3

Please sign in to comment.