Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exceptions Tests #17

Merged
merged 7 commits into from
Apr 3, 2024

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
namespace RailwayResult.FunctionalExtensions.Tests;
namespace RailwayResult.FunctionalExtensions.Tests.Data;

public sealed record BasicError(string Key, string Message) : Error(Key, Message);
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
namespace RailwayResult.FunctionalExtensions.Tests.Data;

public sealed class BasicException : Exception
{
public static void Throw()
{
throw new BasicException();
}

public static Out Throw<Out>()
{
throw new BasicException();
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
namespace RailwayResult.FunctionalExtensions.Tests;
namespace RailwayResult.FunctionalExtensions.Tests.Data;

public sealed class Callback
{
Expand All @@ -23,5 +23,4 @@ public Task<Result> ResultInvokeAsync(BasicError? error = null)
WasCalled = true;
return Task.FromResult(error is null ? Result.Success : error);
}

}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
namespace RailwayResult.FunctionalExtensions.Tests;
namespace RailwayResult.FunctionalExtensions.Tests.Data;

public static class Errors
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
namespace RailwayResult.FunctionalExtensions.Tests;
namespace RailwayResult.FunctionalExtensions.Tests.Data;

public sealed record Obj(string? Value)
{
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
namespace RailwayResult.FunctionalExtensions.Tests;
namespace RailwayResult.FunctionalExtensions.Tests.Extensions;

public static class ErrorExtensions
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
namespace RailwayResult.FunctionalExtensions.Tests;
namespace RailwayResult.FunctionalExtensions.Tests.Extensions;

public static class ResultExtensions
{
Expand Down
12 changes: 6 additions & 6 deletions tests/RailwayResult.FunctionalExtensions.Tests/GlobalUsings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

global using Xunit;

global using O = RailwayResult.FunctionalExtensions.Tests.Obj;
global using O = RailwayResult.FunctionalExtensions.Tests.Data.Obj;
global using RC = RailwayResult.Result<string?>;
global using R1 = RailwayResult.Result<RailwayResult.FunctionalExtensions.Tests.Obj>;
global using R1N = RailwayResult.Result<RailwayResult.FunctionalExtensions.Tests.Obj?>;
global using R2 = RailwayResult.Result<(RailwayResult.FunctionalExtensions.Tests.Obj, RailwayResult.FunctionalExtensions.Tests.Obj)>;
global using R2N = RailwayResult.Result<(RailwayResult.FunctionalExtensions.Tests.Obj?, RailwayResult.FunctionalExtensions.Tests.Obj?)>;
global using R3 = RailwayResult.Result<(RailwayResult.FunctionalExtensions.Tests.Obj, RailwayResult.FunctionalExtensions.Tests.Obj, RailwayResult.FunctionalExtensions.Tests.Obj)>;
global using R1 = RailwayResult.Result<RailwayResult.FunctionalExtensions.Tests.Data.Obj>;
global using R1N = RailwayResult.Result<RailwayResult.FunctionalExtensions.Tests.Data.Obj?>;
global using R2 = RailwayResult.Result<(RailwayResult.FunctionalExtensions.Tests.Data.Obj, RailwayResult.FunctionalExtensions.Tests.Data.Obj)>;
global using R2N = RailwayResult.Result<(RailwayResult.FunctionalExtensions.Tests.Data.Obj?, RailwayResult.FunctionalExtensions.Tests.Data.Obj?)>;
global using R3 = RailwayResult.Result<(RailwayResult.FunctionalExtensions.Tests.Data.Obj, RailwayResult.FunctionalExtensions.Tests.Data.Obj, RailwayResult.FunctionalExtensions.Tests.Data.Obj)>;

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
namespace RailwayResult.FunctionalExtensions.Tests.Tests.AndTests;

public sealed class AndTests : BaseTests
{
[Theory]
[ClassData(typeof(TheoryData_R1_And))]
public void R1_And(Func<R1, R2> and, R1 input, R2? expectedOutput) => Verify(and, input, expectedOutput);

[Theory]
[ClassData(typeof(TheoryData_TaskOfR1_And))]
public async Task TaskOfR1_And(Func<Task<R1>, Task<R2>> and, R1 input, R2? expectedOutput) => await VerifyAsync(and, input, expectedOutput);

[Theory]
[ClassData(typeof(TheoryData_R2_And))]
public void R2_And(Func<R2, R3> and, R2 input, R3? expectedOutput) => Verify(and, input, expectedOutput);

[Theory]
[ClassData(typeof(TheoryData_TaskOfR2_And))]
public async Task TaskOfR2_And(Func<Task<R2>, Task<R3>> and, R2 input, R3? expectedOutput) => await VerifyAsync(and, input, expectedOutput);

[Theory]
[ClassData(typeof(TheoryData_R1_AndAsync))]
public async Task R1_AndAsync(Func<R1, Task<R2>> andAsync, R1 input, R2? expectedOutput) => await VerifyAsync(andAsync, input, expectedOutput);
}
Loading
Loading