SW 중심대학 OSS GIT 서버 박건태, 이승준, 고기완, 이준호 새로운 배포
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.

153 lines
5.5 KiB

4 years ago
  1. using NUnit.Framework;
  2. namespace UnityEngine.XR.ARKit.Tests
  3. {
  4. [TestFixture]
  5. class OSVersionTestFixture
  6. {
  7. void GreaterThan(int major, int minor, int point)
  8. {
  9. Assert.That(new OSVersion(major + 1, minor, point) > new OSVersion(major, minor, point));
  10. Assert.That(!(new OSVersion(major, minor, point) > new OSVersion(major + 1, minor, point)));
  11. Assert.That(new OSVersion(major, minor + 1, point) > new OSVersion(major, minor, point));
  12. Assert.That(!(new OSVersion(major, minor, point) > new OSVersion(major, minor + 1, point)));
  13. Assert.That(new OSVersion(major, minor, point + 1) > new OSVersion(major, minor, point));
  14. Assert.That(!(new OSVersion(major, minor, point) > new OSVersion(major, minor, point + 1)));
  15. }
  16. void LessThan(int major, int minor, int point)
  17. {
  18. Assert.That(new OSVersion(major - 1, minor, point) < new OSVersion(major, minor, point));
  19. Assert.That(!(new OSVersion(major, minor, point) < new OSVersion(major - 1, minor, point)));
  20. Assert.That(new OSVersion(major, minor - 1, point) < new OSVersion(major, minor, point));
  21. Assert.That(!(new OSVersion(major, minor, point) < new OSVersion(major, minor - 1, point)));
  22. Assert.That(new OSVersion(major, minor, point - 1) < new OSVersion(major, minor, point));
  23. Assert.That(!(new OSVersion(major, minor, point) < new OSVersion(major, minor, point - 1)));
  24. }
  25. void LessThanOrEqualTo(int major, int minor, int point)
  26. {
  27. Assert.That(new OSVersion(major, minor, point) <= new OSVersion(major, minor, point));
  28. LessThan(major, minor, point);
  29. }
  30. void GreaterThanOrEqualTo(int major, int minor, int point)
  31. {
  32. Assert.That(new OSVersion(major, minor, point) >= new OSVersion(major, minor, point));
  33. GreaterThan(major, minor, point);
  34. }
  35. void EqualTo(int major, int minor, int point)
  36. {
  37. Assert.That(new OSVersion(major, minor, point) == new OSVersion(major, minor, point));
  38. Assert.That(!(new OSVersion(major + 1, minor, point) == new OSVersion(major, minor, point)));
  39. Assert.That(!(new OSVersion(major, minor + 1, point) == new OSVersion(major, minor, point)));
  40. Assert.That(!(new OSVersion(major, minor, point + 1) == new OSVersion(major, minor, point)));
  41. }
  42. void NotEqualTo(int major, int minor, int point)
  43. {
  44. Assert.That(!(new OSVersion(major, minor, point) != new OSVersion(major, minor, point)));
  45. Assert.That(new OSVersion(major + 1, minor, point) != new OSVersion(major, minor, point));
  46. Assert.That(new OSVersion(major, minor + 1, point) != new OSVersion(major, minor, point));
  47. Assert.That(new OSVersion(major, minor, point + 1) != new OSVersion(major, minor, point));
  48. }
  49. void TestStringParser(int major, int minor, int point)
  50. {
  51. var version = new OSVersion(major, minor, point);
  52. var versionString = version.ToString();
  53. Assert.That(OSVersion.Parse(versionString).Equals(version));
  54. // Add unicode characters
  55. Assert.That(OSVersion.Parse("iPhone version 中文" + versionString + "عربى -/@!@#$23").Equals(version));
  56. }
  57. [Test]
  58. public void GreaterThan()
  59. {
  60. GreaterThan(1, 2, 3);
  61. }
  62. [Test]
  63. public void GreaterThanOrEqualTo()
  64. {
  65. GreaterThanOrEqualTo(1, 2, 3);
  66. }
  67. [Test]
  68. public void LessThan()
  69. {
  70. LessThan(2, 3, 4);
  71. }
  72. [Test]
  73. public void LessThanOrEqualTo()
  74. {
  75. LessThanOrEqualTo(2, 3, 4);
  76. }
  77. [Test]
  78. public void EqualTo()
  79. {
  80. EqualTo(1, 2, 3);
  81. }
  82. [Test]
  83. public void NotEqualTo()
  84. {
  85. NotEqualTo(1, 2, 3);
  86. }
  87. [Test]
  88. public void StringParser()
  89. {
  90. for (int point = 0; point < 10; ++point)
  91. {
  92. TestStringParser(0, 1, point);
  93. TestStringParser(12, 0, point);
  94. TestStringParser(9, 0, point);
  95. TestStringParser(0, 99, point);
  96. TestStringParser(999, 999, point);
  97. TestStringParser(0, 0, point);
  98. }
  99. Assert.That(OSVersion.Parse("iOS 12.2") == new OSVersion(12, 2));
  100. Assert.That(OSVersion.Parse("iOS 12.3.1") == new OSVersion(12, 3, 1));
  101. // We do a lot of tests against iOS 12, so let's actually check that.
  102. Assert.That(OSVersion.Parse("12") >= new OSVersion(12));
  103. Assert.That(OSVersion.Parse("12.0") >= new OSVersion(12));
  104. Assert.That(OSVersion.Parse("12.1") >= new OSVersion(12));
  105. Assert.That(OSVersion.Parse("12.1.1") >= new OSVersion(12));
  106. }
  107. [Test]
  108. public void IgnoresLeadingZeroes()
  109. {
  110. Assert.That(OSVersion.Parse("0012.02.004") == new OSVersion(12, 2, 4));
  111. }
  112. [Test]
  113. public void StopsParsingAtFirstInvalidCharacter()
  114. {
  115. Assert.That(OSVersion.Parse("12.2 .4") == new OSVersion(12, 2));
  116. }
  117. [Test]
  118. public void HandlesNull()
  119. {
  120. Assert.That(OSVersion.Parse(null) == new OSVersion(0));
  121. }
  122. [Test]
  123. public void HandlesEmptyString()
  124. {
  125. Assert.That(OSVersion.Parse("") == new OSVersion(0));
  126. }
  127. }
  128. }