This repository has been archived on 2025-04-28. You can view files and clone it, but cannot push or open issues or pull requests.
ARPlusSystem/ARPlusSystem-250418/Library/PackageCache/com.unity.xr.arkit@4.2.10/Tests/Runtime/OSVersionTests.cs

154 lines
5.5 KiB
C#
Raw Normal View History

2025-04-28 10:27:07 +08:00
using NUnit.Framework;
namespace UnityEngine.XR.ARKit.Tests
{
[TestFixture]
class OSVersionTestFixture
{
void GreaterThan(int major, int minor, int point)
{
Assert.That(new OSVersion(major + 1, minor, point) > new OSVersion(major, minor, point));
Assert.That(!(new OSVersion(major, minor, point) > new OSVersion(major + 1, minor, point)));
Assert.That(new OSVersion(major, minor + 1, point) > new OSVersion(major, minor, point));
Assert.That(!(new OSVersion(major, minor, point) > new OSVersion(major, minor + 1, point)));
Assert.That(new OSVersion(major, minor, point + 1) > new OSVersion(major, minor, point));
Assert.That(!(new OSVersion(major, minor, point) > new OSVersion(major, minor, point + 1)));
}
void LessThan(int major, int minor, int point)
{
Assert.That(new OSVersion(major - 1, minor, point) < new OSVersion(major, minor, point));
Assert.That(!(new OSVersion(major, minor, point) < new OSVersion(major - 1, minor, point)));
Assert.That(new OSVersion(major, minor - 1, point) < new OSVersion(major, minor, point));
Assert.That(!(new OSVersion(major, minor, point) < new OSVersion(major, minor - 1, point)));
Assert.That(new OSVersion(major, minor, point - 1) < new OSVersion(major, minor, point));
Assert.That(!(new OSVersion(major, minor, point) < new OSVersion(major, minor, point - 1)));
}
void LessThanOrEqualTo(int major, int minor, int point)
{
Assert.That(new OSVersion(major, minor, point) <= new OSVersion(major, minor, point));
LessThan(major, minor, point);
}
void GreaterThanOrEqualTo(int major, int minor, int point)
{
Assert.That(new OSVersion(major, minor, point) >= new OSVersion(major, minor, point));
GreaterThan(major, minor, point);
}
void EqualTo(int major, int minor, int point)
{
Assert.That(new OSVersion(major, minor, point) == new OSVersion(major, minor, point));
Assert.That(!(new OSVersion(major + 1, minor, point) == new OSVersion(major, minor, point)));
Assert.That(!(new OSVersion(major, minor + 1, point) == new OSVersion(major, minor, point)));
Assert.That(!(new OSVersion(major, minor, point + 1) == new OSVersion(major, minor, point)));
}
void NotEqualTo(int major, int minor, int point)
{
Assert.That(!(new OSVersion(major, minor, point) != new OSVersion(major, minor, point)));
Assert.That(new OSVersion(major + 1, minor, point) != new OSVersion(major, minor, point));
Assert.That(new OSVersion(major, minor + 1, point) != new OSVersion(major, minor, point));
Assert.That(new OSVersion(major, minor, point + 1) != new OSVersion(major, minor, point));
}
void TestStringParser(int major, int minor, int point)
{
var version = new OSVersion(major, minor, point);
var versionString = version.ToString();
Assert.That(OSVersion.Parse(versionString).Equals(version));
// Add unicode characters
Assert.That(OSVersion.Parse("iPhone version 中文" + versionString + "عربى -/@!@#$23").Equals(version));
}
[Test]
public void GreaterThan()
{
GreaterThan(1, 2, 3);
}
[Test]
public void GreaterThanOrEqualTo()
{
GreaterThanOrEqualTo(1, 2, 3);
}
[Test]
public void LessThan()
{
LessThan(2, 3, 4);
}
[Test]
public void LessThanOrEqualTo()
{
LessThanOrEqualTo(2, 3, 4);
}
[Test]
public void EqualTo()
{
EqualTo(1, 2, 3);
}
[Test]
public void NotEqualTo()
{
NotEqualTo(1, 2, 3);
}
[Test]
public void StringParser()
{
for (int point = 0; point < 10; ++point)
{
TestStringParser(0, 1, point);
TestStringParser(12, 0, point);
TestStringParser(9, 0, point);
TestStringParser(0, 99, point);
TestStringParser(999, 999, point);
TestStringParser(0, 0, point);
}
Assert.That(OSVersion.Parse("iOS 12.2") == new OSVersion(12, 2));
Assert.That(OSVersion.Parse("iOS 12.3.1") == new OSVersion(12, 3, 1));
// We do a lot of tests against iOS 12, so let's actually check that.
Assert.That(OSVersion.Parse("12") >= new OSVersion(12));
Assert.That(OSVersion.Parse("12.0") >= new OSVersion(12));
Assert.That(OSVersion.Parse("12.1") >= new OSVersion(12));
Assert.That(OSVersion.Parse("12.1.1") >= new OSVersion(12));
}
[Test]
public void IgnoresLeadingZeroes()
{
Assert.That(OSVersion.Parse("0012.02.004") == new OSVersion(12, 2, 4));
}
[Test]
public void StopsParsingAtFirstInvalidCharacter()
{
Assert.That(OSVersion.Parse("12.2 .4") == new OSVersion(12, 2));
}
[Test]
public void HandlesNull()
{
Assert.That(OSVersion.Parse(null) == new OSVersion(0));
}
[Test]
public void HandlesEmptyString()
{
Assert.That(OSVersion.Parse("") == new OSVersion(0));
}
}
}