Skip to content

Commit d5e4bad

Browse files
committed
Added more unit tests
1 parent 1c9553e commit d5e4bad

File tree

2 files changed

+24
-5
lines changed

2 files changed

+24
-5
lines changed
Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
using AtleX.CommandLineArguments.Tests.Mocks;
22
using NUnit.Framework;
33
using System;
4-
using AtleX.CommandLineArguments.Validators;
5-
using System.Collections.Generic;
64

75
namespace AtleX.CommandLineArguments.Tests
86
{
@@ -12,15 +10,33 @@ public class CommandLineArgumentsTests
1210
[Test]
1311
public void TryParse_ArgumentsNull_Throws()
1412
{
15-
Assert.Throws<ArgumentNullException>(() => CommandLineArguments.TryParse<TestArguments>(null, out TestArguments a));
13+
Assert.Throws<ArgumentNullException>(() => CommandLineArguments.TryParse<TestArguments>(null, out _));
1614
}
1715

1816
[Test]
1917
public void TryParse_WithoutConfiguration_Throws()
2018
{
19+
var oldConfig = CommandLineArguments.Configuration;
20+
2121
CommandLineArguments.Configuration = null;
2222

23-
Assert.Throws<InvalidOperationException>(() => CommandLineArguments.TryParse<TestArguments>(new string[0], out TestArguments a));
23+
Assert.Throws<InvalidOperationException>(() => CommandLineArguments.TryParse<TestArguments>(new string[0], out _));
24+
25+
CommandLineArguments.Configuration = oldConfig; // The beauty of static, we need to restore the configuration
26+
}
27+
28+
[Test]
29+
public void TryParse_WithEmptyArgumentsAndDefaultConfiguration_Succeeds()
30+
{
31+
Assert.DoesNotThrow(() => CommandLineArguments.TryParse<TestArguments>(new string[0], out _));
32+
}
33+
34+
[Test]
35+
public void TryParse_WithUnknownArgumentsAndDefaultConfiguration_Succeeds()
36+
{
37+
var cliArgs = new string[] { "lorem", "ipsum" };
38+
39+
Assert.DoesNotThrow(() => CommandLineArguments.TryParse<TestArguments>(cliArgs, out _));
2440
}
2541
}
2642
}

src/AtleX.CommandLineArguments.Tests/Parsers/CommandLineArgumentsParserTests.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using System.Collections.Generic;
66
using AtleX.CommandLineArguments.Validators;
77
using AtleX.CommandLineArguments.Parsers.TypeParsers;
8+
using System.Linq;
89

910
namespace AtleX.CommandLineArguments.Tests.Parsers
1011
{
@@ -60,8 +61,10 @@ public void CommandLineArgumentsTryParse_ValidArguments()
6061

6162
var arguments = CreateValidArguments();
6263

63-
var result = CommandLineArguments.TryParse<TestArguments>(arguments, out TestArguments parsedArguments);
64+
var result = CommandLineArguments.TryParse<TestArguments>(arguments, out var parsedArguments, out var validationErrors);
65+
6466
Assert.IsTrue(result);
67+
Assert.IsFalse(validationErrors.Any());
6568
AssertValidArguments(parsedArguments);
6669
}
6770

0 commit comments

Comments
 (0)