Skip to content

Commit b8ec35e

Browse files
Add new test cases which show issues with current TaskResultConverter.
1 parent 0e3b4e0 commit b8ec35e

File tree

1 file changed

+36
-22
lines changed

1 file changed

+36
-22
lines changed

UnitTests/UnitTests.UWP/Converters/Test_TaskResultConverter.cs

Lines changed: 36 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -23,23 +23,23 @@ public void Test_TaskResultConverter_Instance_Int32()
2323

2424
TaskCompletionSource<int> tcs = new();
2525

26-
Assert.AreEqual(null, converter.Convert(tcs.Task, null, null, null));
26+
Assert.AreEqual(0, (int)converter.Convert(tcs.Task, typeof(int), null, null));
2727

2828
tcs.SetCanceled();
2929

30-
Assert.AreEqual(null, converter.Convert(tcs.Task, null, null, null));
30+
Assert.AreEqual(0, (int)converter.Convert(tcs.Task, typeof(int), null, null));
3131

3232
tcs = new TaskCompletionSource<int>();
3333

3434
tcs.SetException(new InvalidOperationException("Test"));
3535

36-
Assert.AreEqual(null, converter.Convert(tcs.Task, null, null, null));
36+
Assert.AreEqual(0, (int)converter.Convert(tcs.Task, typeof(int), null, null));
3737

3838
tcs = new TaskCompletionSource<int>();
3939

4040
tcs.SetResult(42);
4141

42-
Assert.AreEqual(42, converter.Convert(tcs.Task, null, null, null));
42+
Assert.AreEqual(42, (int)converter.Convert(tcs.Task, typeof(int), null, null));
4343
}
4444

4545
[TestCategory("Converters")]
@@ -50,38 +50,60 @@ public void Test_TaskResultConverter_Instance_String()
5050

5151
TaskCompletionSource<string> tcs = new();
5252

53-
Assert.AreEqual(null, converter.Convert(tcs.Task, null, null, null));
53+
Assert.AreEqual(null, (string)converter.Convert(tcs.Task, typeof(string), null, null));
5454

5555
tcs.SetCanceled();
5656

57-
Assert.AreEqual(null, converter.Convert(tcs.Task, null, null, null));
57+
Assert.AreEqual(null, (string)converter.Convert(tcs.Task, typeof(string), null, null));
5858

59-
tcs = new TaskCompletionSource<string>();
59+
tcs = new();
6060

6161
tcs.SetException(new InvalidOperationException("Test"));
6262

63-
Assert.AreEqual(null, converter.Convert(tcs.Task, null, null, null));
63+
Assert.AreEqual(null, (string)converter.Convert(tcs.Task, typeof(string), null, null));
6464

65-
tcs = new TaskCompletionSource<string>();
65+
tcs = new();
6666

6767
tcs.SetResult("Hello world");
6868

69-
Assert.AreEqual("Hello world", converter.Convert(tcs.Task, null, null, null));
69+
Assert.AreEqual("Hello world", (string)converter.Convert(tcs.Task, typeof(string), null, null));
7070
}
7171

7272
[TestCategory("Converters")]
7373
[UITestMethod]
74-
public void Test_TaskResultConverter_Instance_UnsetValue()
74+
public void Test_TaskResultConverter_Instance_RawValue()
7575
{
7676
TaskResultConverter converter = new();
7777

78-
Assert.AreEqual(DependencyProperty.UnsetValue, converter.Convert(null, null, null, null));
79-
Assert.AreEqual(DependencyProperty.UnsetValue, converter.Convert("Hello world", null, null, null));
78+
Assert.AreEqual(42, converter.Convert(42, null, null, null));
79+
80+
Assert.AreEqual(42, converter.Convert(42, typeof(int), null, null));
81+
82+
Assert.AreEqual("Hello world", converter.Convert("Hello world", null, null, null));
83+
84+
Assert.AreEqual("Hello world", converter.Convert("Hello world", typeof(string), null, null));
85+
}
86+
87+
[TestCategory("Converters")]
88+
[UITestMethod]
89+
public void Test_TaskResultConverter_Instance_NullObject()
90+
{
91+
TaskResultConverter converter = new();
92+
93+
Assert.AreEqual(null, converter.Convert(null, null, null, null));
94+
95+
Assert.AreEqual(0, (int)converter.Convert(null, typeof(int), null, null));
96+
97+
Assert.AreEqual(false, (bool)converter.Convert(null, typeof(bool), null, null));
98+
99+
Assert.AreEqual(null, (int?)converter.Convert(null, typeof(int?), null, null));
100+
101+
Assert.AreEqual(null, (string)converter.Convert(null, typeof(string), null, null));
80102
}
81103

82104
[TestCategory("Converters")]
83105
[UITestMethod]
84-
public void Test_TaskResultConverter_Instance_Null()
106+
public void Test_TaskResultConverter_Instance_TaskNull()
85107
{
86108
TaskResultConverter converter = new();
87109

@@ -92,14 +114,6 @@ public void Test_TaskResultConverter_Instance_Null()
92114
Assert.AreEqual(null, converter.Convert(Task.FromCanceled(cts.Token), null, null, null));
93115
Assert.AreEqual(null, converter.Convert(Task.FromException(new Exception()), null, null, null));
94116
Assert.AreEqual(null, converter.Convert(Task.CompletedTask, null, null, null));
95-
96-
TaskCompletionSource<int> tcs1 = new();
97-
98-
Assert.AreEqual(null, converter.Convert(tcs1.Task, null, null, null));
99-
100-
TaskCompletionSource<string> tcs2 = new();
101-
102-
Assert.AreEqual(null, converter.Convert(tcs2.Task, null, null, null));
103117
}
104118

105119
[TestCategory("Converters")]

0 commit comments

Comments
 (0)