private async Task RunWaitForNoVisualChangeInSceneTest() { AssertVisually assertVisually = NewAssertVisuallyInstance("Ui19_RunVisualRegression_ExampleUsage3"); Task visualChangeMonitorTask = assertVisually.WaitForNoVisualChangeInScene(); AssertV2.IsFalse(visualChangeMonitorTask.IsCompleted, "visualChangeMonitorTask.IsCompleted"); gameObject.AddChild(await NewUiFor <MyUserModelv1>()); // Change the UI await TaskV2.Delay(200); // After 200 ms the monitorTask should still be checking: AssertV2.IsFalse(visualChangeMonitorTask.IsCompleted, "visualChangeMonitorTask.IsCompleted"); gameObject.AddChild(await NewUiFor <MyUserModelv2>()); // Change the UI again await TaskV2.Delay(200); // After 200 ms the monitorTask should still be checking: AssertV2.IsFalse(visualChangeMonitorTask.IsCompleted, "visualChangeMonitorTask.IsCompleted"); gameObject.AddChild(await NewUiFor <MyUserModelv1>()); // Change the UI again await TaskV2.Delay(200); // After 200 ms the monitorTask should still be checking: AssertV2.IsFalse(visualChangeMonitorTask.IsCompleted, "visualChangeMonitorTask.IsCompleted"); await TaskV2.Delay(2000); // Dont change the UI for 2 sec // Now the change monitor task should have completed since the sceen did not change for 2 sec: AssertV2.IsTrue(visualChangeMonitorTask.IsCompleted, "visualChangeMonitorTask.IsCompleted"); await visualChangeMonitorTask; // await the task in case there was an exception }