Skip to content

barsgroup/CodeGuard

Repository files navigation

CodeGuard

Build status Test status

A simple Guard and validator library made in c#. Library also available at NuGet.

Need more checks?? Please contribute or contact me.

Example of usage:

// --- using Guard.That(...) ---
// Guard.That that will throw an exception, when some condition is not met

public void SomeMethod(int arg1, int arg2)
{
	// This will check that arg1 is not null and that is in some range 1..100
	Guard.That(arg2).IsNotNull().IsInRange(1,100);

	// Several checks can be added.
	Guard.That(arg1).IsInRange(100,1000).IsEven().IsTrue(x => x > 50, "Must be over 500");

	// Do stuff
}

Incomplete list of checks:

The following checks are available. But the best documentation is currently the tests. New checks can easily be made by creating a extension method.

For object:

  • Is
  • IsNotDefault

For bool:

  • IsTrue
  • IsFalse

For class:

  • IsNotNull

For IComparable (Int32, Double, String, Char, DateTime and other classes implementing the interface)

  • IsEqual
  • IsNotEqual
  • IsGreatherThan
  • IslessThan
  • IsInRange

For int and long:

  • IsOdd
  • IsEven
  • IsPrime

For string:

  • IsNotEmpty
  • IsNotNullOrEmpty
  • StartsWith
  • EndsWith
  • Length
  • Contains
  • IsMatch

For IEnumerable:

  • IsNotEmpty
  • Length
  • Conatins

For Guid:

  • IsNotEmpty

Benchmarks of checks:

Check Max. overhead
Enumerable
IsNotEmpty x1.75
Length x1.75
Contains by value x1.1
Contains by predicate x1.1
Array
IsNotEmpty x8.6
CountIs x9
Boolean
IsTrue x5.4
IsFalse x5.4
Collection
IsNotEmpty x3.5

About

Deep fork of the Seterlund.CodeGuard library.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 4

  •  
  •  
  •  
  •