-
-
Notifications
You must be signed in to change notification settings - Fork 31
Expand file tree
/
Copy pathTargetPositionTest.cs
More file actions
44 lines (41 loc) · 1.21 KB
/
TargetPositionTest.cs
File metadata and controls
44 lines (41 loc) · 1.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
public class TargetPositionTest :
XunitContextBase
{
[Theory]
[InlineData("true", true)]
[InlineData("TRUE", true)]
[InlineData("True", true)]
[InlineData("tRuE", true)]
[InlineData("false", false)]
[InlineData("FALSE", false)]
[InlineData("False", false)]
[InlineData("fAlSe", false)]
public void ParseTargetOnLeft_IsCaseInsensitive(string input, bool expected)
{
var result = TargetPosition.ParseTargetOnLeft(input);
Assert.Equal(expected, result);
}
[Fact]
public void ParseTargetOnLeft_NullReturnsNull()
{
var result = TargetPosition.ParseTargetOnLeft(null);
Assert.Null(result);
}
[Theory]
[InlineData("yes")]
[InlineData("no")]
[InlineData("1")]
[InlineData("0")]
[InlineData("")]
[InlineData("invalid")]
public void ParseTargetOnLeft_InvalidValueThrows(string input)
{
var exception = Assert.Throws<Exception>(() => TargetPosition.ParseTargetOnLeft(input));
Assert.Contains("Unable to parse Position", exception.Message);
Assert.Contains(input, exception.Message);
}
public TargetPositionTest(ITestOutputHelper output) :
base(output)
{
}
}