What was observed:
// ...
var nullRes = Result.Fail(null);
var emptyStrRes = Result.Fail(string.Empty);
Assert.IsTrue(nullRes.IsFailed);
Assert.IsTrue(emptyStrRes.IsFailed);
What happened:
Assert.IsTrue(nullRes.IsFailed); // Returns False
Assert.IsTrue(emptyStrRes.IsFailed); // Returns False
What is expected:
Consistent exceptions should be thrown like other Fail(...) overloads. Relating discussions: #227
//...
throw new ArgumentNullException(nameof(error), "Error cannot be null");
// ...
ArgumentException.ThrowIfNullOrEmpty(errorMessage, nameof(errorMessage));
Thank you!