Skip to content

Inconsistent Result<TValue> Fail<TValue>(...) implementations when invalid inputs #249

@Joseph-Steven-S

Description

@Joseph-Steven-S

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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions