WindowResultUpdater.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using System.Linq;
  2. using TestRunner.Callbacks;
  3. using UnityEditor.TestTools.TestRunner.Api;
  4. namespace UnityEditor.TestTools.TestRunner.GUI
  5. {
  6. internal class WindowResultUpdater : ICallbacks, ITestTreeRebuildCallbacks
  7. {
  8. public WindowResultUpdater()
  9. {
  10. var cachedResults = WindowResultUpdaterDataHolder.instance.CachedResults;
  11. var testList = TestRunnerWindow.s_Instance.m_SelectedTestTypes;
  12. foreach (var result in cachedResults)
  13. {
  14. testList.UpdateResult(result);
  15. }
  16. cachedResults.Clear();
  17. }
  18. public void RunStarted(ITestAdaptor testsToRun)
  19. {
  20. }
  21. public void RunFinished(ITestResultAdaptor testResults)
  22. {
  23. if (TestRunnerWindow.s_Instance != null)
  24. {
  25. TestRunnerWindow.s_Instance.RebuildUIFilter();
  26. }
  27. }
  28. public void TestStarted(ITestAdaptor testName)
  29. {
  30. }
  31. public void TestFinished(ITestResultAdaptor test)
  32. {
  33. var result = new TestRunnerResult(test);
  34. if (TestRunnerWindow.s_Instance == null)
  35. {
  36. WindowResultUpdaterDataHolder.instance.CachedResults.Add(result);
  37. return;
  38. }
  39. TestRunnerWindow.s_Instance.m_SelectedTestTypes.UpdateResult(result);
  40. }
  41. public void TestTreeRebuild(ITestAdaptor test)
  42. {
  43. if (TestRunnerWindow.s_Instance == null)
  44. {
  45. return;
  46. }
  47. TestRunnerWindow.s_Instance.m_SelectedTestTypes.UpdateTestTree(test);
  48. }
  49. }
  50. }