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..947664526 --- /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 +DefaultConstraint() +``` + +## 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..e3a44e571 --- /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