-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathMappingUtilitiesTests.cs
More file actions
116 lines (98 loc) · 3.02 KB
/
MappingUtilitiesTests.cs
File metadata and controls
116 lines (98 loc) · 3.02 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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
using NHS.CohortManager.Shared.Utilities;
namespace MappingUtilitiesTests;
[TestClass]
public class MappingUtilitiesTests
{
private static readonly DateTime expectedResultDT = new DateTime(2000, 01, 01);
[TestMethod]
[DataRow("2000/01/01")]
public void ParseNullableDateTime_ValidInput_ReturnDate(string date)
{
//No Arrange
//Act
var actual = MappingUtilities.ParseNullableDateTime(date);
//Assert
Assert.AreEqual(actual, expectedResultDT);
}
[TestMethod]
[DataRow("2000/0/0")] //Invalid date
[DataRow(null)] //Null input
public void ParseNullableDateTime_InvalidInput_ReturnNull(string date)
{
//No Arrange
//Act
var actual = MappingUtilities.ParseNullableDateTime(date);
//Assert
Assert.IsNull(actual);
}
[TestMethod]
[DataRow("0",(short)0)]
[DataRow("1",(short)1)]
[DataRow("N",(short)0)]
[DataRow("Y",(short)1)]
public void ParseStringFlag_ValidInput_ReturnDate(string flag, short expectedResult)
{
//No Arrange
//Act
short actual = MappingUtilities.ParseStringFlag(flag);
//Assert
Assert.AreEqual(actual, expectedResult);
}
[TestMethod]
[DataRow("W")]
[DataRow(null)]
public void ParseStringFlag_InvalidInput_ReturnArguementError(string flag)
{
//No Arrange or Act
//Assert
var exception = Assert.ThrowsException<ArgumentException>(() => MappingUtilities.ParseStringFlag(flag));
Assert.AreEqual("Invalid input", exception.Message);
}
[TestMethod]
[DataRow("01/01/2000")] // dd/mm/yyyy
[DataRow("20000101")] // yyyymmdd
[DataRow("1/1/2000")] // d/m/yyyy
[DataRow("2000")] //yyyy
[DataRow("200001")] //yyyymm
public void ParseDates_ValidInput_ReturnDate(string date)
{
//No Arrange
//Act
var actual = MappingUtilities.ParseDates(date);
//Assert
Assert.AreEqual(actual, expectedResultDT);
}
[TestMethod]
[DataRow("00/00/2000")] // dd/mm/yyyy
[DataRow("20000000")] // yyyymmdd
[DataRow("0/0/2000")] // d/m/yyyy
[DataRow(null)]
[DataRow("")]
public void ParseDates_InvalidInput_ReturnNull(string date)
{
//No Arrange
//Act
var actual = MappingUtilities.ParseDates(date);
//Assert
Assert.IsNull(actual);
}
[TestMethod]
public void FormatDateTime_ValidInput_ReturnDate()
{
//Arrange
string expectedResult = "2000-01-01";
//Act
var actual = MappingUtilities.FormatDateTime(expectedResultDT);
//Assert
Assert.AreEqual(actual, expectedResult);
}
[TestMethod]
public void FormatDateTime_InvalidInput_ReturnNull()
{
//No Arrange
//Act
var actual = MappingUtilities.FormatDateTime(null);
//Assert
Assert.IsNull(actual);
}
}