Skip to content

Commit 7f63e15

Browse files
committed
Added Unit Tests
1 parent 8216bde commit 7f63e15

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

src/DotNext.Tests/ResultTests.cs

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,48 @@ public static unsafe void Conversion2()
185185
Equal(EnvironmentVariableTarget.Machine, result.Convert(&Convert.ToInt32).Error);
186186
}
187187

188+
[Fact]
189+
public static void ConvertToResult()
190+
{
191+
Result<string> validStringResult = "20";
192+
var convertedResult1 = validStringResult.Convert(ToInt);
193+
True(convertedResult1.IsSuccessful);
194+
Equal(20, convertedResult1);
195+
196+
Result<string> invdalidStringResult = "20F";
197+
var convertedResult2 = invdalidStringResult.Convert(ToInt);
198+
False(convertedResult2.IsSuccessful);
199+
True(convertedResult2.Error is FormatException);
200+
201+
Result<string> exceptionResult = new(new ArgumentNullException());
202+
var convertedResult3 = exceptionResult.Convert(ToInt);
203+
False(convertedResult3.IsSuccessful);
204+
True(convertedResult3.Error is ArgumentNullException);
205+
206+
static Result<int> ToInt(string value) => int.TryParse(value, out var result) ? result : throw new FormatException();
207+
}
208+
209+
[Fact]
210+
public static void ConvertToResult2()
211+
{
212+
Result<string, EnvironmentVariableTarget> validStringResult = "20";
213+
var convertedResult1 = validStringResult.Convert(ToInt);
214+
True(convertedResult1.IsSuccessful);
215+
Equal(20, convertedResult1);
216+
217+
Result<string, EnvironmentVariableTarget> invalidStringResult = "20F";
218+
var convertedResult2 = invalidStringResult.Convert(ToInt);
219+
False(convertedResult2.IsSuccessful);
220+
Equal(EnvironmentVariableTarget.Machine, convertedResult2.Error);
221+
222+
Result<string, EnvironmentVariableTarget> errorCodeResult = new(EnvironmentVariableTarget.User);
223+
var convertedResult3 = errorCodeResult.Convert(ToInt);
224+
False(convertedResult3.IsSuccessful);
225+
Equal(EnvironmentVariableTarget.User, convertedResult3.Error);
226+
227+
static Result<int, EnvironmentVariableTarget> ToInt(string value) => int.TryParse(value, out var result) ? new(result) : new(EnvironmentVariableTarget.Machine);
228+
}
229+
188230
[Fact]
189231
public static void HandleException()
190232
{

0 commit comments

Comments
 (0)