Nav apraksta
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

TemperatureTrendUnitTests.cs 3.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. using System.IO;
  2. using NUnit.Framework;
  3. using UnityEngine;
  4. using UnityEngine.AdaptivePerformance;
  5. namespace UnityEditor.AdaptivePerformance.Editor.Tests
  6. {
  7. public class TemperatureTrendUnitTests
  8. {
  9. TemperatureTrend tt;
  10. [SetUp]
  11. public void SetupTest()
  12. {
  13. tt = new TemperatureTrend(false);
  14. }
  15. [Test]
  16. public void CheckThermalTrend_SameAsProvTrend_WhenProviderTrendUsed()
  17. {
  18. var tt = new TemperatureTrend(true);
  19. tt.Update(0.55f,0.0f,false,0.0f);
  20. Assert.AreEqual(0.55f, tt.ThermalTrend);
  21. }
  22. [Test]
  23. public void CheckThermalTrend_WhenProviderTrendNotUsed_AndNumValues_Zero()
  24. {
  25. tt.Update(0.3f,0.45f,false,0.0f);
  26. Assert.AreEqual(0.0f, tt.ThermalTrend);
  27. }
  28. [Test]
  29. public void CheckThermalTrend_WhenProviderTrendNotUsed_And_TrendNotUpdated()
  30. {
  31. tt.NumValues = 1;
  32. tt.Update(0.3f,0.67f,false,0.8f);
  33. Assert.AreEqual(1.0f, tt.ThermalTrend);
  34. }
  35. [Test]
  36. public void CheckThermalTrendIsPositive_TimestampDiffGreaterThanMeasurementTimeframe()
  37. {
  38. tt.NumValues = 3;
  39. tt.Update(0.3f,0.45f,false,25f);
  40. Assert.AreEqual(0.728999913f, tt.ThermalTrend);
  41. }
  42. [Test]
  43. public void CheckThermalTrendIsNegative_TimestampDiffGreaterThanMeasurementTimeframe()
  44. {
  45. tt.NumValues = 3;
  46. tt.Update(0.3f,-2f,false,0.42f);
  47. Assert.AreEqual(-1f, tt.ThermalTrend);
  48. }
  49. [Test]
  50. public void CheckThermalTrend_After_10ConsecutiveCalls_NumValuesNotSameAsSample()
  51. {
  52. tt.NumValues =100;
  53. float newTemp = 0.7f;
  54. float newTempStamp = 0.5f;
  55. for (int i = 0; i < 10; i++)
  56. {
  57. tt.Update(0f, newTemp, true, newTempStamp);
  58. newTemp += 0.2f;
  59. newTempStamp += 0.1f;
  60. }
  61. Assert.AreEqual(1.0f, tt.ThermalTrend);
  62. }
  63. [Test]
  64. public void CheckThermalTrend_After_50ConsecutiveCalls_With_Intermediate_Reset()
  65. {
  66. tt.NumValues = 150;
  67. for (int i = 0; i < 38; i++)
  68. {
  69. tt.Update(0f, 10, true, 5);
  70. }
  71. tt.Reset();
  72. float NewTemp = 0.10f;
  73. float newTempStamp = 0.11f;
  74. for (int i = 0; i < 13; i++)
  75. {
  76. tt.Update(0f, NewTemp, true, newTempStamp);
  77. NewTemp += 0.1f;
  78. newTempStamp += 0.1f;
  79. }
  80. Assert.AreEqual(1.0f, tt.ThermalTrend);
  81. }
  82. [Test]
  83. public void CheckThermalTrend_After_100ConsecutiveCalls_WhenSampleSizeSameAsNumValues()
  84. {
  85. tt.NumValues =200;
  86. float newTemp = 0.10f;
  87. float newTempStamp = 0.4f;
  88. for (int i = 0; i < 100; i++)
  89. {
  90. tt.Update(0f, newTemp, true, newTempStamp);
  91. newTemp += 0.1f;
  92. newTempStamp += 0.1f;
  93. }
  94. Assert.AreEqual(1.0f, tt.ThermalTrend);
  95. }
  96. [Test]
  97. public void CheckThermalTrend_After_800ConsecutiveCalls_WhenSampleSizeSameAsNumValues()
  98. {
  99. tt.NumValues =0;
  100. float newTemp = 0.44f;
  101. float newTempStamp = 0.12f;
  102. for (int i = 0; i < 800; i++)
  103. {
  104. tt.Update(0f, newTemp, false, newTempStamp);
  105. newTemp += 0.01f;
  106. newTempStamp += 0.02f;
  107. }
  108. Assert.AreEqual(1.0f, tt.ThermalTrend);
  109. }
  110. [Test]
  111. public void CheckThermalTrend_AfterReset()
  112. {
  113. tt.NumValues =7;
  114. tt.Update(0f, 0.5f, true, 0.6f);
  115. tt.Reset();
  116. Assert.AreEqual(0.0f, tt.ThermalTrend);
  117. }
  118. }
  119. }