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 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 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 ParseInvalidVersionTest3() { Assert.Throws <ArgumentOutOfRangeException>(() => AppleVersion.Parse("82K")); }
public void ParseEmptyVersionTest() { Assert.Throws <ArgumentOutOfRangeException>(() => AppleVersion.Parse(string.Empty)); }
public void ParseVersionNullTest() { Assert.Throws <ArgumentNullException>(() => AppleVersion.Parse(null)); }