Skip to content

Commit

Permalink
Move ValueTask to own namespace
Browse files Browse the repository at this point in the history
- Added nameValueTask params to differentiate when both namepsaces are imported.
  • Loading branch information
MarcelRoozekrans authored and rutkowskit committed Sep 6, 2022
1 parent 487be8e commit becbf55
Show file tree
Hide file tree
Showing 9 changed files with 333 additions and 115 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,16 +23,16 @@ await result
.Bind(async _ => await GetTask());
}

private Task<Result<Profile>> GetProfileAsync() =>
Result.Try(async () =>
private ValueTask<Result<Profile>> GetProfileAsync() =>
Result.Try(valueTask: async () =>
{
await Task.Yield();
return new Profile();
});

private Task<Result<Profile, Error>> GetProfileWithErrorAsync() =>
Result.Try(async () =>
private ValueTask<Result<Profile, Error>> GetProfileWithErrorAsync() =>
Result.Try(valueTask: async () =>
{
await Task.Yield();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using System.Threading.Tasks;
using CSharpFunctionalExtensions.Tests.ResultTests.Methods.Try;
using CSharpFunctionalExtensions.ValueTasks;
using FluentAssertions;
using Xunit;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,188 +1,129 @@
using System.Threading.Tasks;
using CSharpFunctionalExtensions.Tests.ResultTests.Methods.Try;
using CSharpFunctionalExtensions.ValueTasks;
using FluentAssertions;
using FluentAssertions.CSharpFunctionalExtensions;
using Xunit;

namespace CSharpFunctionalExtensions.Tests.ResultTests.Extensions
{
public class OnSuccessTryTestBaseTests_Task_Right : TryTestBaseTask
public class OnSuccessTryTests_ValueTask_Right : TryTestBaseTask
{
[Fact]
public async Task OnSuccess_Task_Right_execute_action_success_without_error_handler_function_result_expected()
{
var success = Result.Success();
var result = await success.OnSuccessTry(Func_Task);

result.IsSuccess.Should().BeTrue();
}

[Fact]
public async Task OnSuccess_Task_Right_execute_action_failed_without_error_handler_failed_result_expected()
{
var success = Result.Success();
var result = await success.OnSuccessTry(Throwing_Func_Task);

result.Should()
.BeFailure()
.And.Subject.Error.Should()
.Be(ErrorMessage);
}

[Fact]
public async Task OnSuccess_Task_Right_execute_action_failed_with_error_handler_failed_result_expected()
{
var success = Result.Success();
var result = await success.OnSuccessTry(Throwing_Func_Task, ErrorHandler);

result.IsFailure.Should().BeTrue();
result.Error.Should().Be(ErrorHandlerMessage);
}

[Fact]
public async Task OnSuccess_Task_Right_T_execute_function_success_without_error_handler_function_result_expected()
public async Task OnSuccess_ValueTask_Right_T_execute_function_success_without_error_handler_function_result_expected()
{
var success = Result.Success();
var result = await success.OnSuccessTry(Func_Task_T);
var result = await success.OnSuccessTry(valueTask: Func_ValueTask_T);

result.IsSuccess.Should().BeTrue();
result.Value.Should().Be(T.Value);
}

[Fact]
public async Task OnSuccess_Task_Right_T_execute_function_failed_without_error_handler_failed_result_expected()
public async Task OnSuccess_ValueTask_Right_T_execute_function_failed_without_error_handler_failed_result_expected()
{
var success = Result.Success();
var result = await success.OnSuccessTry(Throwing_Func_Task_T);
var result = await success.OnSuccessTry(valueTask: Throwing_Func_ValueTask_T);

result.IsFailure.Should().BeTrue();
result.Error.Should().Be(ErrorMessage);
}

[Fact]
public async Task OnSuccess_Task_Right_T_execute_function_failed_with_error_handler_failed_result_expected()
public async Task OnSuccess_ValueTask_Right_T_execute_function_failed_with_error_handler_failed_result_expected()
{
var success = Result.Success();
var result = await success.OnSuccessTry(Throwing_Func_Task_T, ErrorHandler);

result.IsFailure.Should().BeTrue();
result.Error.Should().Be(ErrorHandlerMessage);
}

[Fact]
public async Task OnSuccess_Task_Right_T_execute_action_success_without_error_handler_function_result_expected()
{
var success = Result.Success(T.Value);
var result = await success.OnSuccessTry(Func_T_Task);

result.IsSuccess.Should().BeTrue();
}

[Fact]
public async Task OnSuccess_Task_Right_T_execute_action_failed_without_error_handler_failed_result_expected()
{
var success = Result.Success(T.Value);
var result = await success.OnSuccessTry(Throwing_Func_T_Task);

result.IsFailure.Should().BeTrue();
result.Error.Should().Be(ErrorMessage);
}

[Fact]
public async Task OnSuccess_Task_Right_T_execute_action_failed_with_error_handler_failed_result_expected()
{
var success = Result.Success(T.Value);
var result = await success.OnSuccessTry(Throwing_Func_T_Task, ErrorHandler);
var result = await success.OnSuccessTry(valueTask: Throwing_Func_ValueTask_T, ErrorHandler);

result.IsFailure.Should().BeTrue();
result.Error.Should().Be(ErrorHandlerMessage);
}

[Fact]
public async Task OnSuccess_Task_Right_T_K_execute_function_success_without_error_handler_function_result_expected()
public async Task OnSuccess_ValueTask_Right_T_K_execute_function_success_without_error_handler_function_result_expected()
{
var success = Result.Success(T.Value);
var result = await success.OnSuccessTry(Func_T_Task_K);
var result = await success.OnSuccessTry(valueTask: Func_T_ValueTask_K);

result.IsSuccess.Should().BeTrue();
result.Value.Should().Be(K.Value);
}

[Fact]
public async Task OnSuccess_Task_Right_T_K_execute_function_failed_without_error_handler_failed_result_expected()
public async Task OnSuccess_ValueTask_Right_T_K_execute_function_failed_without_error_handler_failed_result_expected()
{
var success = Result.Success(T.Value);
var result = await success.OnSuccessTry(Throwing_Func_T_Task_K);
var result = await success.OnSuccessTry(valueTask: Throwing_Func_T_ValueTask_K);

result.IsFailure.Should().BeTrue();
result.Error.Should().Be(ErrorMessage);
}

[Fact]
public async Task OnSuccess_Task_Right_T_K_execute_function_failed_with_error_handler_failed_result_expected()
public async Task OnSuccess_ValueTask_Right_T_K_execute_function_failed_with_error_handler_failed_result_expected()
{
var success = Result.Success(T.Value);
var result = await success.OnSuccessTry(Throwing_Func_T_Task_K, ErrorHandler);
var result = await success.OnSuccessTry(valueTask: Throwing_Func_T_ValueTask_K, ErrorHandler);

result.IsFailure.Should().BeTrue();
result.Error.Should().Be(ErrorHandlerMessage);
}

[Fact]
public async Task OnSuccess_Task_Right_T_E_execute_function_success_without_error_handler_function_result_expected()
public async Task OnSuccess_ValueTask_Right_T_E_execute_function_success_without_error_handler_function_result_expected()
{
var success = Result.Success<T, E>(T.Value);
var result = await success.OnSuccessTry(Func_Task_T, ErrorHandler_E);
var result = await success.OnSuccessTry(Func_ValueTask_T, ErrorHandler_E);

result.IsSuccess.Should().BeTrue();
result.Value.Should().Be(T.Value);
}

[Fact]
public async Task OnSuccess_Task_Right_T_E_execute_function_failed_without_error_handler_failed_result_expected()
public async Task OnSuccess_ValueTask_Right_T_E_execute_function_failed_without_error_handler_failed_result_expected()
{
var success = Result.Success<T, E>(T.Value);
var result = await success.OnSuccessTry(Throwing_Func_Task_T, ErrorHandler_E);
var result = await success.OnSuccessTry(Throwing_Func_ValueTask_T, ErrorHandler_E);

result.IsFailure.Should().BeTrue();
result.Error.Should().Be(E.Value);
}

[Fact]
public async Task OnSuccess_Task_Right_T_E_execute_function_failed_with_error_handler_failed_result_expected()
public async Task OnSuccess_ValueTask_Right_T_E_execute_function_failed_with_error_handler_failed_result_expected()
{
var success = Result.Success<T, E>(T.Value);
var result = await success.OnSuccessTry(Throwing_Func_Task_T, ErrorHandler_E);
var result = await success.OnSuccessTry(Throwing_Func_ValueTask_T, ErrorHandler_E);

result.IsFailure.Should().BeTrue();
result.Error.Should().Be(E.Value);
}

[Fact]
public async Task OnSuccess_Task_Right_T_K_E_execute_function_success_without_error_handler_function_result_expected()
public async Task OnSuccess_ValueTask_Right_T_K_E_execute_function_success_without_error_handler_function_result_expected()
{
var success = Result.Success<T, E>(T.Value);
var result = await success.OnSuccessTry(Func_T_Task_K, ErrorHandler_E);
var result = await success.OnSuccessTry(valueTask: Func_T_ValueTask_K, ErrorHandler_E);

result.IsSuccess.Should().BeTrue();
result.Value.Should().Be(K.Value);
}

[Fact]
public async Task OnSuccess_Task_Right_T_K_E_execute_function_failed_without_error_handler_failed_result_expected()
public async Task OnSuccess_ValueTask_Right_T_K_E_execute_function_failed_without_error_handler_failed_result_expected()
{
var success = Result.Success<T, E>(T.Value);
var result = await success.OnSuccessTry(Throwing_Func_T_Task_K, ErrorHandler_E);
var result = await success.OnSuccessTry(valueTask: Throwing_Func_T_ValueTask_K, ErrorHandler_E);

result.IsFailure.Should().BeTrue();
result.Error.Should().Be(E.Value);
}

[Fact]
public async Task OnSuccess_Task_Right_T_K_E_execute_function_failed_with_error_handler_failed_result_expected()
public async Task OnSuccess_ValueTask_Right_T_K_E_execute_function_failed_with_error_handler_failed_result_expected()
{
var success = Result.Success<T, E>(T.Value);
var result = await success.OnSuccessTry(Throwing_Func_T_Task_K, ErrorHandler_E);
var result = await success.OnSuccessTry(valueTask: Throwing_Func_T_ValueTask_K, ErrorHandler_E);

result.IsFailure.Should().BeTrue();
result.Error.Should().Be(E.Value);
Expand Down
Loading

0 comments on commit becbf55

Please sign in to comment.