Extending Guard Clauses | NimblePros Blog

PHOTO EMBED

Sat Apr 23 2022 00:16:22 GMT+0000 (Coordinated Universal Time)

Saved by @iamsingularity #csharp

using Ardalis.GuardClauses;
using System;
using Xunit;

namespace UnitTests.GuardClauses
{
    public class InvalidEmailGuard
    {
        [Fact]
        public void ThrowsArgumentNullExceptionIfNullOrEmptyEmail()
        {
            string? email = null;
            Assert.Throws<ArgumentNullException>(() => Guard.Against.InvalidEmail(email, nameof(email)));
        }

        [Fact]
        public void ThrowsArgumentExceptionIfEmailDoesNotEndInCorrectSuffix()
        {
            var email = "eric@fleming.invalidsuffix";
            Assert.Throws<ArgumentException>(() => Guard.Against.InvalidEmail(email, nameof(email)));
        }

        [Fact]
        public void ReturnsEmailAddressGivenValidEmail()
        {
            var validEmailAddress = "eric@fleming.com";
            var result = Guard.Against.InvalidEmail(validEmailAddress, nameof(validEmailAddress));

            Assert.Equal(validEmailAddress, result);
        }
    }
}
content_copyCOPY

https://blog.nimblepros.com/blogs/extending-guard-clauses/