From db43fc3b74a09ab4605d2620e168bc0187d17823 Mon Sep 17 00:00:00 2001 From: Terje Sandstrom Date: Sun, 14 Sep 2025 22:51:37 +0200 Subject: [PATCH 1/4] Defaultconstraint --- .../constraints/DefaultConstraint.md | 32 +++++++++++++++++ .../DefaultConstraintExamples.cs | 36 +++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 docs/articles/nunit/writing-tests/constraints/DefaultConstraint.md create mode 100644 docs/snippets/Snippets.NUnit/DefaultConstraintExamples.cs diff --git a/docs/articles/nunit/writing-tests/constraints/DefaultConstraint.md b/docs/articles/nunit/writing-tests/constraints/DefaultConstraint.md new file mode 100644 index 000000000..c6dffc6a5 --- /dev/null +++ b/docs/articles/nunit/writing-tests/constraints/DefaultConstraint.md @@ -0,0 +1,32 @@ +# DefaultConstraint + +`DefaultConstraint` tests that the actual value is the default value for the type. + +It is implemented equal to the C# keyword `default`. + +## Constructor + +```csharp +DefaultConstrint() +``` + +## Syntax + +```csharp +Is.Default +Has.Length.Default +Has.Count.Default +Is.Not.Default +``` + +All resolvable properties of `Has` can be used with the `Default` property. +`Default` can be used with the `Not` operator. +`Default` can be used with the combinatorial operators. + +## Examples of use + +[!code-csharp[DefaultConstraintExample](~/snippets/Snippets.NUnit/DefaultConstraintExamples.cs#DefaultConstraintExample)] + +## Version + +From version 4.0.0 diff --git a/docs/snippets/Snippets.NUnit/DefaultConstraintExamples.cs b/docs/snippets/Snippets.NUnit/DefaultConstraintExamples.cs new file mode 100644 index 000000000..47762eb0a --- /dev/null +++ b/docs/snippets/Snippets.NUnit/DefaultConstraintExamples.cs @@ -0,0 +1,36 @@ +using NUnit.Framework; + +namespace Snippets.NUnit; + +public class DefaultConstraintExamples +{ + #region DefaultConstraintExample + [Test] + public void DefaultConstraintExample() + { + string defaultLength = string.Empty; + var nonDefaultLength = "1"; + var defaultList = new List(); + var nonDefaultList = new List {1}; + var defaultDate = default(DateTime); + var noNDefaultDate = DateTime.Now; + + using (Assert.EnterMultipleScope()) + { + Assert.That(defaultLength.Length, Is.Zero); + Assert.That(defaultLength.Length, Is.Default); + Assert.That(defaultLength, Has.Length.Default); + Assert.That(defaultLength, Has.Property("Length").Default); + Assert.That(defaultList,Has.Count.Default); + Assert.That(defaultDate, Is.Default); + + Assert.That(nonDefaultLength.Length, Is.Not.Zero); + Assert.That(nonDefaultLength.Length, Is.Not.Default); + Assert.That(nonDefaultLength, Has.Length.Not.Default); + Assert.That(nonDefaultLength, Has.Property("Length").Not.Default); + Assert.That(nonDefaultList, Has.Count.Not.Default); + Assert.That(noNDefaultDate, Is.Not.Default); + } + } + #endregion +} \ No newline at end of file From 8cf3612295c694bc188f2d1a47798ceb59d5883c Mon Sep 17 00:00:00 2001 From: Terje Sandstrom Date: Sun, 14 Sep 2025 22:58:25 +0200 Subject: [PATCH 2/4] Update docs/snippets/Snippets.NUnit/DefaultConstraintExamples.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- docs/snippets/Snippets.NUnit/DefaultConstraintExamples.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/snippets/Snippets.NUnit/DefaultConstraintExamples.cs b/docs/snippets/Snippets.NUnit/DefaultConstraintExamples.cs index 47762eb0a..2813f51b2 100644 --- a/docs/snippets/Snippets.NUnit/DefaultConstraintExamples.cs +++ b/docs/snippets/Snippets.NUnit/DefaultConstraintExamples.cs @@ -21,7 +21,7 @@ public void DefaultConstraintExample() Assert.That(defaultLength.Length, Is.Default); Assert.That(defaultLength, Has.Length.Default); Assert.That(defaultLength, Has.Property("Length").Default); - Assert.That(defaultList,Has.Count.Default); + Assert.That(defaultList, Has.Count.Default); Assert.That(defaultDate, Is.Default); Assert.That(nonDefaultLength.Length, Is.Not.Zero); From e47969a6406eb63fe535d7c74fede5b34627fe8f Mon Sep 17 00:00:00 2001 From: Terje Sandstrom Date: Sun, 14 Sep 2025 23:07:30 +0200 Subject: [PATCH 3/4] Defaultconstraint --- docs/snippets/Snippets.NUnit/DefaultConstraintExamples.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/snippets/Snippets.NUnit/DefaultConstraintExamples.cs b/docs/snippets/Snippets.NUnit/DefaultConstraintExamples.cs index 2813f51b2..e3a44e571 100644 --- a/docs/snippets/Snippets.NUnit/DefaultConstraintExamples.cs +++ b/docs/snippets/Snippets.NUnit/DefaultConstraintExamples.cs @@ -13,7 +13,7 @@ public void DefaultConstraintExample() var defaultList = new List(); var nonDefaultList = new List {1}; var defaultDate = default(DateTime); - var noNDefaultDate = DateTime.Now; + var nonDefaultDate = DateTime.Now; using (Assert.EnterMultipleScope()) { @@ -29,7 +29,7 @@ public void DefaultConstraintExample() Assert.That(nonDefaultLength, Has.Length.Not.Default); Assert.That(nonDefaultLength, Has.Property("Length").Not.Default); Assert.That(nonDefaultList, Has.Count.Not.Default); - Assert.That(noNDefaultDate, Is.Not.Default); + Assert.That(nonDefaultDate, Is.Not.Default); } } #endregion From 436e14b31690f313c8c82cd4b6b99de68e928c78 Mon Sep 17 00:00:00 2001 From: Terje Sandstrom Date: Sun, 14 Sep 2025 23:07:50 +0200 Subject: [PATCH 4/4] Defaultconstraint --- .../nunit/writing-tests/constraints/DefaultConstraint.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/articles/nunit/writing-tests/constraints/DefaultConstraint.md b/docs/articles/nunit/writing-tests/constraints/DefaultConstraint.md index c6dffc6a5..947664526 100644 --- a/docs/articles/nunit/writing-tests/constraints/DefaultConstraint.md +++ b/docs/articles/nunit/writing-tests/constraints/DefaultConstraint.md @@ -7,7 +7,7 @@ It is implemented equal to the C# keyword `default`. ## Constructor ```csharp -DefaultConstrint() +DefaultConstraint() ``` ## Syntax