Skip to content

This is a simple library that helps you to use Microsoft.Toolkit.Diagnostics.Guard extensions with more fluency.

Notifications You must be signed in to change notification settings

mabroukmahdhi/Mahdhi.GuardFluently

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nuget

Nuget Nuget

Social

Twitter Follow

Intoduction

This is a simple library that helps you to use Microsoft.Toolkit.Diagnostics.Guard extensions with more fluency.

The idea is not new, I tried to copy some code and personalize some code from the project FluentAssertions.

So thank you FluentAssertions' guys ❤️❤️❤️

How to use?

Let's say we have a service SomeService that defince the following method:

 public void DoSomeCall(string name, object length)
{ 
  // do something
}

Here you will sure need to make some checks for your parameters name and length.

Let's say :

  • the name shouldn't be null and should have at least 10 chars.
  • the length should be assignable to the type int

In this case your check can look like this,

public void DoSomeCall(string name, object length)
{
  //guard
  name.Should()
      .NotBeNullOrWhiteSpace()
      .And
      .HaveLengthGreaterThan(10);

  length.Should().BeAssignableTo(typeof(int));

 // do something
}

In this example there are three exceptions that can be thrown:

  • System.ArgumentNullException: Thrown if name is null.
  • System.ArgumentException: Thrown if name is empty or whitespace.
  • System.ArgumentException: Thrown if length is not assignable to the type int.

About

This is a simple library that helps you to use Microsoft.Toolkit.Diagnostics.Guard extensions with more fluency.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages