Brak opisu
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

DevicePerformanceControlImplUnitTests.cs 3.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #if NUGET_MOQ_AVAILABLE
  2. using System;
  3. using Moq;
  4. using NUnit.Framework;
  5. using UnityEngine;
  6. using UnityEngine.AdaptivePerformance;
  7. using UnityEngine.AdaptivePerformance.Provider;
  8. namespace UnityEditor.AdaptivePerformance.Editor.Tests
  9. {
  10. public class DevicePerformanceControlImplUnitTests
  11. {
  12. PerformanceLevelChangeEventArgs pce;
  13. DevicePerformanceControlImpl testSubject;
  14. IDevicePerformanceLevelControl performanceLevelControl;
  15. int somecpu = 100;
  16. int somegpu = -1;
  17. [SetUp]
  18. public void InitializeTests()
  19. {
  20. pce = new PerformanceLevelChangeEventArgs();
  21. performanceLevelControl = Mock.Of<IDevicePerformanceLevelControl>();
  22. testSubject = new DevicePerformanceControlImpl(performanceLevelControl);
  23. }
  24. [Test]
  25. public void UpdateDoesNotOccur_When_ControlModeIsNotSystem_And_CPULevelUnknown()
  26. {
  27. Assert.AreEqual(false, testSubject.Update(out pce));
  28. }
  29. [Test]
  30. public void UpdateDoesNotOccur_When_ControlModeIsSystem_And_CPULevelUnknown()
  31. {
  32. testSubject.PerformanceControlMode = PerformanceControlMode.System;
  33. Assert.AreEqual(false, testSubject.Update(out pce));
  34. }
  35. [Test]
  36. public void UpdateDoesNotOccur_When_ControlModeIsSystem_And_CPULevelSet_DefaultAverage()
  37. {
  38. testSubject.CurrentCpuLevel = Constants.DefaultAverageFrameCount;
  39. testSubject.PerformanceControlMode = PerformanceControlMode.System;
  40. testSubject.Update(out pce);
  41. Assert.AreEqual(Constants.UnknownPerformanceLevel, pce.CpuLevel);
  42. }
  43. [Test]
  44. public void UpdateDoesNotOccur_When_ControlModeIsNotSystem_And_CPULevelIsAverageFramerate()
  45. {
  46. testSubject.CpuLevel = Constants.DefaultAverageFrameCount;
  47. testSubject.PerformanceControlMode = PerformanceControlMode.Manual;
  48. testSubject.Update(out pce);
  49. Assert.AreEqual(false, testSubject.Update(out pce));
  50. }
  51. [Test]
  52. public void UpdateDoesOccur_When_ControlModeIsManual_And_SettingPerformanceLevelSuccessful()
  53. {
  54. Mock.Get(performanceLevelControl).Setup(p => p.SetPerformanceLevel(ref somecpu, ref somegpu)).Returns(true);
  55. testSubject.CpuLevel = Constants.DefaultAverageFrameCount;
  56. testSubject.PerformanceControlMode = PerformanceControlMode.Manual;
  57. Assert.AreEqual(true, testSubject.Update(out pce));
  58. }
  59. [Test]
  60. public void UpdateDoesOccur_When_ControlModeIsManual_And_SettingPerformanceLevelNotSuccessful()
  61. {
  62. Mock.Get(performanceLevelControl).Setup(p => p.SetPerformanceLevel(ref somecpu, ref somegpu)).Returns(false);
  63. testSubject.CpuLevel = Constants.DefaultAverageFrameCount;
  64. testSubject.PerformanceControlMode = PerformanceControlMode.Manual;
  65. Assert.AreEqual(false, testSubject.Update(out pce));
  66. }
  67. }
  68. }
  69. #endif