public void OperatorTest() { var _8k2 = new AppleVersion(8, 'K', 2); var _8k2bis = new AppleVersion(8, 'K', 2); var _8k3 = new AppleVersion(8, 'K', 3); // == operator Assert.True(_8k2 == _8k2bis); Assert.True(!(_8k2 == _8k3)); // != operatior Assert.True(!(_8k2 != _8k2bis)); Assert.True(_8k2 != _8k3); // < operator Assert.True(!(_8k2 < _8k2bis)); Assert.True(_8k2 < _8k3); Assert.True(!(_8k3 < _8k2)); // > operator Assert.True(!(_8k2 > _8k2bis)); Assert.True(!(_8k2 > _8k3)); Assert.True(_8k3 > _8k2); // <= operator Assert.True(_8k2 <= _8k2bis); Assert.True(_8k2 <= _8k3); Assert.False(_8k3 <= _8k2); // >= operator Assert.True(_8k2 >= _8k2bis); Assert.False(_8k2 >= _8k3); Assert.True(_8k3 >= _8k2); }
public void CompareToObjectTest() { var _8k2 = new AppleVersion(8, 'K', 2); Assert.Equal(1, _8k2.CompareTo((object)null)); Assert.Equal(0, _8k2.CompareTo((object)_8k2)); }
public void ToDictionary_NoBuildIDs_Works() { var version = new SystemVersion() { ProductBuildVersion = AppleVersion.Parse("17E255"), ProductCopyright = "1983-2020 Apple Inc.", ProductName = "iPhone OS", ProductVersion = new Version(13, 4), }; var dict = version.ToDictionary(); Assert.Collection( dict, e => { Assert.Equal("ProductBuildVersion", e.Key); Assert.Equal("17E255", e.Value.ToObject()); }, e => { Assert.Equal("ProductCopyright", e.Key); Assert.Equal("1983-2020 Apple Inc.", e.Value.ToObject()); }, e => { Assert.Equal("ProductName", e.Key); Assert.Equal("iPhone OS", e.Value.ToObject()); }, e => { Assert.Equal("ProductVersion", e.Key); Assert.Equal("13.4", e.Value.ToObject()); }); }
public void CompareToAppleVersionTest() { var _8k2 = new AppleVersion(8, 'K', 2); var _13a340 = new AppleVersion(13, 'A', 340); var _13a344 = new AppleVersion(13, 'A', 344); var _13a344a = new AppleVersion(13, 'A', 1, 344, 'a'); var _13a344b = new AppleVersion(13, 'A', 1, 344, 'b'); var _13a344bis = new AppleVersion(13, 'A', 344); var _13b2 = new AppleVersion(13, 'B', 2); Assert.Equal(1, _8k2.CompareTo((AppleVersion)null)); // Compare on major Assert.Equal(-1, _8k2.CompareTo(_13a340)); Assert.Equal(1, _13a340.CompareTo(_8k2)); // Compare on minor Assert.Equal(-1, _13a340.CompareTo(_13b2)); Assert.Equal(1, _13b2.CompareTo(_13a340)); // Compare on build Assert.Equal(1, _13a344.CompareTo(_13a340)); Assert.Equal(-1, _13a340.CompareTo(_13a344)); // Compare on revision Assert.Equal(1, _13a344.CompareTo(_13a344a)); Assert.Equal(-1, _13a344a.CompareTo(_13a344)); Assert.Equal(0, _13a344a.CompareTo(_13a344a)); Assert.Equal(-1, _13a344a.CompareTo(_13a344b)); Assert.Equal(1, _13a344b.CompareTo(_13a344a)); // Compare equals Assert.Equal(0, _13a344.CompareTo(_13a344bis)); }
public void EqualsTest() { var _8k2 = new AppleVersion(8, 'K', 2); var _8k2bis = new AppleVersion(8, 'K', 2); var _8k3 = new AppleVersion(8, 'K', 3); var _8l2 = new AppleVersion(8, 'L', 2); var _9k2 = new AppleVersion(9, 'K', 2); // Test for equality Assert.Equal(_8k2, _8k2bis); Assert.Equal(_8k2bis, _8k2); // Test for equality - differ on major Assert.NotEqual(_8k2, _9k2); Assert.NotEqual(_9k2, _8k2); // Test for equality - differ on minor Assert.NotEqual(_8k2, _8l2); Assert.NotEqual(_8l2, _8k2); // Test for equality - differ on build Assert.NotEqual(_8k2, _8k3); Assert.NotEqual(_8k3, _8k2); // Test for equality - with null Assert.False(_8k2.Equals((object)null)); Assert.True(_8k2.Equals((object)_8k2)); Assert.NotEqual(_8k2, (object)null); Assert.NotEqual(_8k2, (AppleVersion)null); Assert.NotEqual((object)null, _8k2); Assert.NotEqual((AppleVersion)null, _8k2); }
public void ConstructorTest() { var version = new AppleVersion(13, 'A', 340); Assert.Equal(13, version.Major); Assert.Equal('A', version.Minor); Assert.Equal(340, version.Build); Assert.Null(version.Revision); }
public void ConstructorTest2() { var version = new AppleVersion(13, 'A', 4, 325, 'c'); Assert.Equal(13, version.Major); Assert.Equal('A', version.Minor); Assert.Equal(4, version.Architecture); Assert.Equal(325, version.Build); Assert.Equal('c', version.Revision); }
public void ParseiOS12VersionTest(string versionString, int expectedBuild, char expectedRevision) { var version = AppleVersion.Parse(versionString); Assert.Equal(16, version.Major); Assert.Equal('A', version.Minor); Assert.Equal(5, version.Architecture); Assert.Equal(expectedBuild, version.Build); Assert.Equal(expectedRevision, version.Revision); Assert.Equal(versionString, version.ToString()); }
public void ParseiOS9VersionsTest() { var beta = AppleVersion.Parse("13A4254v"); var beta2 = AppleVersion.Parse("13A4280e"); var beta3 = AppleVersion.Parse("13A4293g"); var beta4 = AppleVersion.Parse("13A4305g"); var beta5 = AppleVersion.Parse("13A4325c"); var rtm = AppleVersion.Parse("13A340"); Assert.Equal("13A4254v", beta.ToString()); Assert.Equal("13A4280e", beta2.ToString()); Assert.Equal("13A4293g", beta3.ToString()); Assert.Equal("13A4305g", beta4.ToString()); Assert.Equal("13A4325c", beta5.ToString()); Assert.Equal("13A340", rtm.ToString()); Assert.Equal(13, beta.Major); Assert.Equal('A', beta.Minor); Assert.Equal(4, beta.Architecture); Assert.Equal(254, beta.Build); Assert.Equal('v', beta.Revision); Assert.Equal(13, beta2.Major); Assert.Equal('A', beta2.Minor); Assert.Equal(4, beta2.Architecture); Assert.Equal(280, beta2.Build); Assert.Equal('e', beta2.Revision); Assert.Equal(13, beta3.Major); Assert.Equal('A', beta3.Minor); Assert.Equal(4, beta3.Architecture); Assert.Equal(293, beta3.Build); Assert.Equal('g', beta3.Revision); Assert.Equal(13, beta4.Major); Assert.Equal('A', beta4.Minor); Assert.Equal(4, beta4.Architecture); Assert.Equal(305, beta4.Build); Assert.Equal('g', beta4.Revision); Assert.Equal(13, beta5.Major); Assert.Equal('A', beta5.Minor); Assert.Equal(4, beta5.Architecture); Assert.Equal(325, beta5.Build); Assert.Equal('c', beta5.Revision); Assert.Equal(13, rtm.Major); Assert.Equal('A', rtm.Minor); Assert.Equal(0, rtm.Architecture); Assert.Equal(340, rtm.Build); Assert.Null(rtm.Revision); }
public void CloneTest() { var _8k2 = new AppleVersion(8, 'K', 2); var clone = _8k2.Clone(); Assert.IsType <AppleVersion>(clone); var version = (AppleVersion)clone; Assert.Equal(8, version.Major); Assert.Equal('K', version.Minor); Assert.Equal(2, version.Build); Assert.Equal(0, version.Architecture); Assert.Null(version.Revision); }
public void DifferByBuildNumberOnlyTests() { // iOS 9.3 == iOS 9.3 Assert.True(AppleVersion.DifferByBuildNumberOnly(AppleVersion.Parse("13E230"), AppleVersion.Parse("13E230"))); // iOS 9.3.1 == iOS 9.3 Assert.True(AppleVersion.DifferByBuildNumberOnly(AppleVersion.Parse("13E230"), AppleVersion.Parse("13E238"))); // iOS 9.0 beta 5 != iOS 9.0 RTM Assert.True(!AppleVersion.DifferByBuildNumberOnly(AppleVersion.Parse("13A340"), AppleVersion.Parse("13A4325c"))); // Null tests for code coverage Assert.True(!AppleVersion.DifferByBuildNumberOnly(AppleVersion.Parse("13E230"), null)); Assert.True(!AppleVersion.DifferByBuildNumberOnly(null, AppleVersion.Parse("13E230"))); Assert.True(!AppleVersion.DifferByBuildNumberOnly(null, null)); }
/// <inheritdoc/> public void FromDictionary(NSDictionary dictionary) { if (dictionary == null) { throw new ArgumentNullException(nameof(dictionary)); } if (dictionary.ContainsKey(nameof(this.BuildID))) { this.BuildID = new Guid(dictionary.GetString(nameof(this.BuildID))); } this.ProductBuildVersion = AppleVersion.Parse(dictionary.GetString(nameof(this.ProductBuildVersion))); this.ProductCopyright = dictionary.GetString(nameof(this.ProductCopyright)); this.ProductName = dictionary.GetString(nameof(this.ProductName)); this.ProductVersion = new Version(dictionary.GetString(nameof(this.ProductVersion))); }
public void OperatorTest2() { Assert.True(AppleVersion.Parse("16A5366a") < AppleVersion.Parse("16A5366b")); Assert.False(AppleVersion.Parse("16A5366b") < null); Assert.False((AppleVersion)null < null); Assert.True(AppleVersion.Parse("16A5366a") <= AppleVersion.Parse("16A5366b")); Assert.False(AppleVersion.Parse("16A5366b") <= null); Assert.True((AppleVersion)null <= null); Assert.False(AppleVersion.Parse("16A5366a") > AppleVersion.Parse("16A5366b")); Assert.True(AppleVersion.Parse("16A5366b") > null); Assert.False((AppleVersion)null > null); Assert.False(AppleVersion.Parse("16A5366a") >= AppleVersion.Parse("16A5366b")); Assert.True(AppleVersion.Parse("16A5366a") >= null); Assert.True((AppleVersion)null >= null); }
public void CompareiOS9VersionsTest() { var beta = AppleVersion.Parse("13A4254v"); var beta2 = AppleVersion.Parse("13A4280e"); var beta3 = AppleVersion.Parse("13A4293g"); var beta4 = AppleVersion.Parse("13A4305g"); var beta5 = AppleVersion.Parse("13A4325c"); var rtm = AppleVersion.Parse("13A340"); Assert.True(beta < beta2); Assert.True(beta2 < beta3); Assert.True(beta3 < beta4); Assert.True(beta4 < beta5); Assert.True(beta5 < rtm); Assert.True(beta < rtm); Assert.True(beta2 < rtm); Assert.True(beta3 < rtm); Assert.True(beta4 < rtm); }
public void ToDictionary_Works() { var version = new SystemVersion() { BuildID = new Guid("BB4C82AE-5F8A-11EA-A1A5-838AD03DDE06"), ProductBuildVersion = AppleVersion.Parse("17E255"), ProductCopyright = "1983-2020 Apple Inc.", ProductName = "iPhone OS", ProductVersion = new Version(13, 4), }; var dict = version.ToDictionary(); Assert.Collection( dict, e => { Assert.Equal("BuildID", e.Key); Assert.Equal("BB4C82AE-5F8A-11EA-A1A5-838AD03DDE06", e.Value.ToObject()); }, e => { Assert.Equal("ProductBuildVersion", e.Key); Assert.Equal("17E255", e.Value.ToObject()); }, e => { Assert.Equal("ProductCopyright", e.Key); Assert.Equal("1983-2020 Apple Inc.", e.Value.ToObject()); }, e => { Assert.Equal("ProductName", e.Key); Assert.Equal("iPhone OS", e.Value.ToObject()); }, e => { Assert.Equal("ProductVersion", e.Key); Assert.Equal("13.4", e.Value.ToObject()); }); }
public void FromDictionary_NoBuildId_Works() { // Create a dict with sample data seen in e.g. // https://github.com/WebKit/WebKit/blob/master/Tools/CISupport/ews-build/steps_unittest.py#L3783-L3789 var dict = new NSDictionary(); dict.Add("ProductBuildVersion", "17E255"); dict.Add("ProductCopyright", "1983-2020 Apple Inc."); dict.Add("ProductName", "iPhone OS"); dict.Add("ProductVersion", "13.4"); var version = new SystemVersion(); version.FromDictionary(dict); Assert.Equal(Guid.Empty, version.BuildID); Assert.Equal(AppleVersion.Parse("17E255"), version.ProductBuildVersion); Assert.Equal("1983-2020 Apple Inc.", version.ProductCopyright); Assert.Equal("iPhone OS", version.ProductName); Assert.Equal(new Version("13.4"), version.ProductVersion); }
public void ParseVersionTest() { var version = AppleVersion.Parse("13A340"); Assert.Equal(13, version.Major); Assert.Equal('A', version.Minor); Assert.Equal(340, version.Build); Assert.Equal(0, version.Architecture); Assert.Null(version.Revision); version = AppleVersion.Parse("13A4305g"); Assert.Equal(13, version.Major); Assert.Equal('A', version.Minor); Assert.Equal(305, version.Build); Assert.Equal(4, version.Architecture); Assert.Equal('g', version.Revision); version = AppleVersion.Parse("8K2"); Assert.Equal(8, version.Major); Assert.Equal('K', version.Minor); Assert.Equal(2, version.Build); Assert.Equal(0, version.Architecture); Assert.Null(version.Revision); }
public void ParseEmptyVersionTest() { Assert.Throws <ArgumentOutOfRangeException>(() => AppleVersion.Parse(string.Empty)); }
public void GetHashcodeTest() { var _8k2 = new AppleVersion(8, 'K', 2); Assert.Equal(0x084B0200, _8k2.GetHashCode()); }
public void ToStringTest() { var _8k2 = new AppleVersion(8, 'K', 2); Assert.Equal("8K2", _8k2.ToString()); }
public void ParseVersionNullTest() { Assert.Throws <ArgumentNullException>(() => AppleVersion.Parse(null)); }
public void ParseInvalidVersionTest3() { Assert.Throws <ArgumentOutOfRangeException>(() => AppleVersion.Parse("82K")); }