Skip to content

Commit 7b5b384

Browse files
committed
Refactor event assertions in TestUtils.Load to streamline event handling with placeholders
1 parent e18c2e6 commit 7b5b384

File tree

1 file changed

+36
-24
lines changed

1 file changed

+36
-24
lines changed

Assets/_PackageRoot/Tests/Base/Utils/TestUtils.Load.cs

Lines changed: 36 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -31,31 +31,35 @@ public static IEnumerator Load(string url, FutureLoadingFrom? expectedLoadingFro
3131

3232
futureListener.Assert_Events_NotContains(EventName.Canceled);
3333

34-
if (expectedLoadingFrom.HasValue)
35-
futureListener.Assert_Events_Equals(expectedLoadingFrom.Value.ToEventName(), expectedLoadedFrom.ToEventName(), EventName.Loaded, EventName.Completed);
36-
else
37-
futureListener.Assert_Events_Equals(expectedLoadedFrom.ToEventName(), EventName.Loaded, EventName.Completed);
34+
var events = expectedLoadingFrom.HasValue
35+
? usePlaceholder
36+
? new [] { expectedLoadingFrom.Value.ToEventName(), expectedLoadedFrom.ToEventName(), EventName.Loaded, EventName.Consumed, EventName.Completed }
37+
: new [] { expectedLoadingFrom.Value.ToEventName(), expectedLoadedFrom.ToEventName(), EventName.Loaded, EventName.Completed }
38+
: usePlaceholder
39+
? new [] { expectedLoadedFrom.ToEventName(), EventName.Loaded, EventName.Consumed, EventName.Completed }
40+
: new [] { expectedLoadedFrom.ToEventName(), EventName.Loaded, EventName.Completed };
3841

42+
futureListener.Assert_Events_Equals(events);
3943
futureListener.Assert_Events_Value<bool>(EventName.Completed, success => success == true);
4044

4145
Assert.IsTrue(task1.IsCompleted, "Task was not cancelled but Future was cancelled");
4246
Assert.IsTrue(task2.IsCompleted, "Task was not cancelled but Future was cancelled");
4347

4448
yield return UniTask.Yield();
4549

46-
if (expectedLoadingFrom.HasValue)
47-
futureListener.Assert_Events_Equals(expectedLoadingFrom.Value.ToEventName(), expectedLoadedFrom.ToEventName(), EventName.Loaded, EventName.Completed);
48-
else
49-
futureListener.Assert_Events_Equals(expectedLoadedFrom.ToEventName(), EventName.Loaded, EventName.Completed);
50-
50+
futureListener.Assert_Events_Equals(events);
5151
futureListener.Assert_Events_Value<bool>(EventName.Completed, success => success == true);
5252

53-
future.ToFutureListener(ignoreLoadingWhenLoaded: true, ignorePlaceholder: !usePlaceholder)
53+
future.ToFutureListener(ignoreLoadingWhenLoaded: true, ignorePlaceholder: true)
5454
.Assert_Events_Equals(expectedLoadedFrom.ToEventName(), EventName.Loaded, EventName.Completed)
5555
.Assert_Events_Value<bool>(EventName.Completed, success => success == true);
5656

57+
future.ToFutureListener(ignoreLoadingWhenLoaded: true, ignorePlaceholder: false)
58+
.Assert_Events_Equals(expectedLoadedFrom.ToEventName(), EventName.Loaded, EventName.Consumed, EventName.Completed)
59+
.Assert_Events_Value<bool>(EventName.Completed, success => success == true);
60+
5761
if (expectedLoadingFrom.HasValue)
58-
future.ToFutureListener(ignorePlaceholder: !usePlaceholder)
62+
future.ToFutureListener()
5963
.Assert_Events_Equals(expectedLoadingFrom.Value.ToEventName(), expectedLoadedFrom.ToEventName(), EventName.Loaded, EventName.Completed)
6064
.Assert_Events_Value<bool>(EventName.Completed, success => success == true);
6165

@@ -91,31 +95,35 @@ public static IEnumerator LoadThenCancel(string url, FutureLoadingFrom? expected
9195

9296
future.Cancel();
9397

94-
if (expectedLoadingFrom.HasValue)
95-
futureListener.Assert_Events_Equals(expectedLoadingFrom.Value.ToEventName(), expectedLoadedFrom.ToEventName(), EventName.Loaded, EventName.Completed);
96-
else
97-
futureListener.Assert_Events_Equals(expectedLoadedFrom.ToEventName(), EventName.Loaded, EventName.Completed);
98+
var events = expectedLoadingFrom.HasValue
99+
? usePlaceholder
100+
? new [] { expectedLoadingFrom.Value.ToEventName(), expectedLoadedFrom.ToEventName(), EventName.Loaded, EventName.Consumed, EventName.Completed }
101+
: new [] { expectedLoadingFrom.Value.ToEventName(), expectedLoadedFrom.ToEventName(), EventName.Loaded, EventName.Completed }
102+
: usePlaceholder
103+
? new [] { expectedLoadedFrom.ToEventName(), EventName.Loaded, EventName.Consumed, EventName.Completed }
104+
: new [] { expectedLoadedFrom.ToEventName(), EventName.Loaded, EventName.Completed };
98105

106+
futureListener.Assert_Events_Equals(events);
99107
futureListener.Assert_Events_Value<bool>(EventName.Completed, success => success == true);
100108

101109
Assert.IsTrue(task1.IsCompleted, "Task was not cancelled but Future was cancelled. Probably the OnCancel subscription was cleaned up too early.");
102110
Assert.IsTrue(task2.IsCompleted, "Task was not cancelled but Future was cancelled. Probably the OnCancel subscription was cleaned up too early.");
103111

104112
yield return UniTask.Yield();
105113

106-
if (expectedLoadingFrom.HasValue)
107-
futureListener.Assert_Events_Equals(expectedLoadingFrom.Value.ToEventName(), expectedLoadedFrom.ToEventName(), EventName.Loaded, EventName.Completed);
108-
else
109-
futureListener.Assert_Events_Equals(expectedLoadedFrom.ToEventName(), EventName.Loaded, EventName.Completed);
110-
114+
futureListener.Assert_Events_Equals(events);
111115
futureListener.Assert_Events_Value<bool>(EventName.Completed, success => success == true);
112116

113-
future.ToFutureListener(ignoreLoadingWhenLoaded: true, ignorePlaceholder: !usePlaceholder)
117+
future.ToFutureListener(ignoreLoadingWhenLoaded: true, ignorePlaceholder: true)
114118
.Assert_Events_Equals(expectedLoadedFrom.ToEventName(), EventName.Loaded, EventName.Completed)
115119
.Assert_Events_Value<bool>(EventName.Completed, success => success == true);
116120

121+
future.ToFutureListener(ignoreLoadingWhenLoaded: true, ignorePlaceholder: false)
122+
.Assert_Events_Equals(expectedLoadedFrom.ToEventName(), EventName.Loaded, EventName.Consumed, EventName.Completed)
123+
.Assert_Events_Value<bool>(EventName.Completed, success => success == true);
124+
117125
if (expectedLoadingFrom.HasValue)
118-
future.ToFutureListener(ignorePlaceholder: !usePlaceholder)
126+
future.ToFutureListener()
119127
.Assert_Events_Equals(expectedLoadingFrom.Value.ToEventName(), expectedLoadedFrom.ToEventName(), EventName.Loaded, EventName.Completed)
120128
.Assert_Events_Value<bool>(EventName.Completed, success => success == true);
121129

@@ -154,8 +162,12 @@ public static IEnumerator LoadAndCancel(string url, FutureLoadingFrom? expectedL
154162
var task2 = future.AsTask();
155163

156164
var events = shouldLoadFromMemoryCache
157-
? new [] { EventName.LoadedFromMemoryCache, EventName.Loaded, EventName.Completed }
158-
: new [] { expectedLoadingFrom.Value.ToEventName(), EventName.Canceled, EventName.Completed };
165+
? usePlaceholder
166+
? new [] { EventName.LoadedFromMemoryCache, EventName.Loaded, EventName.Consumed, EventName.Completed }
167+
: new [] { EventName.LoadedFromMemoryCache, EventName.Loaded, EventName.Completed }
168+
: usePlaceholder
169+
? new [] { expectedLoadingFrom.Value.ToEventName(), EventName.Canceled, EventName.Consumed, EventName.Completed }
170+
: new [] { expectedLoadingFrom.Value.ToEventName(), EventName.Canceled, EventName.Completed };
159171

160172
futureListener.Assert_Events_Equals(events);
161173
futureListener.Assert_Events_Value<bool>(EventName.Completed, success => success == shouldLoadFromMemoryCache);

0 commit comments

Comments
 (0)