public void CanDeserializeComplexPlist() { // Arrange var value = File.ReadAllText("Data/Info.plist"); var expected = new Dictionary <string, object> { { "CFBundleShortVersionString", "1.1.3" }, { "CFBundleVersion", "1.1.3+Branch.master.Sha.41e4b956b644d0a30e8aa28a6cb6509d99e81031" }, { "LSRequiresIPhoneOS", true }, { "MinimumOSVersion", "8.0" }, { "UIDeviceFamily", new[] { 1, 2 } }, { "UILaunchStoryboardName", "LaunchScreen" }, { "UIRequiredDeviceCapabilities", new[] { "armv7" } }, { "UISupportedInterfaceOrientations", new[] { "UIInterfaceOrientationPortrait", "UIInterfaceOrientationPortraitUpsideDown" } }, { "UISupportedInterfaceOrientations~ipad", new[] { "UIInterfaceOrientationPortrait", "UIInterfaceOrientationPortraitUpsideDown" } }, { "CFBundleName", "Demo App" }, { "CFBundleIdentifier", "com.democom.demo" }, { "CFBundleDisplayName", "Demo" }, { "NSLocationAlwaysUsageDescription", "This app needs your current location." }, { "UIBackgroundModes", new[] { "location" } }, { "CFBundleIconFiles", new[] { "*****@*****.**", "Icon-72.png", "*****@*****.**", "Icon-76.png", "*****@*****.**", "Icon-Small-40.png", "*****@*****.**" } }, { "UIStatusBarHidden", true }, { "UIStatusBarHidden~ipad", true } }; // Act var element = XElement.Parse(value); var item = PlistConvert.Deserialize(element); // Assert var a1 = expected.ToArray(); var a2 = ((Dictionary <string, object>)item).ToArray(); // Assert.Equal is not working correct on dictionary. Therefore we iterate for (var i = 0; i < a1.Length; i++) { Assert.Equal(a1[i].Key, a2[i].Key); Assert.Equal(a1[i].Value, a2[i].Value); } }
public void CanDeserializePlistEntry(string value, object expected) { // Act var element = XElement.Parse(value); var item = PlistConvert.Deserialize(element); // Assert Assert.Equal(expected, item); }
public void CanDeserializeDateTime() { // Arrange const string value = "<date>2012-09-27</date>"; var expected = new DateTime(2012, 09, 27); // Act var element = XElement.Parse(value); var item = PlistConvert.Deserialize(element); // Assert Assert.Equal(expected, item); }
public void CanDeserializeArray() { // Arrange const string value = "<array><string>Test1</string><string>Test2</string></array>"; var expected = new[] { "Test1", "Test2" }; // Act var element = XElement.Parse(value); var item = PlistConvert.Deserialize(element); // Assert Assert.Equal(expected, item); }
public void CanDeserializePlistDateTime() { // Arrange var value = "<date>2016-05-03T11:40:00+00:00</date>"; var expected = new DateTimeOffset(2016, 05, 03, 11, 40, 00, TimeSpan.Zero); // Act var element = XElement.Parse(value); var item = PlistConvert.Deserialize(element); // Assert Assert.Equal(expected, item); }
public void CanDeserializeEmptyArray() { // Arrange const string value = "<array />"; var expected = new object[0]; // Act var element = XElement.Parse(value); var item = PlistConvert.Deserialize(element); // Assert Assert.Equal(expected, item); }
public void CanDeserializeData() { // Arrange string value; value = "<data>oqO0</data>"; var expected = new byte[] { 0xA2, 0xA3, 0xB4 }; // Act var element = XElement.Parse(value); var item = PlistConvert.Deserialize(element); // Assert Assert.Equal(expected, item); }
public void CanDeserializeDict() { // Arrange var value = "<dict><key>k1</key><string>v1</string><key>k2</key><integer>3</integer></dict>"; var expected = new Dictionary <string, object> { { "k1", "v1" }, { "k2", 3 } }; // Act var element = XElement.Parse(value); var item = PlistConvert.Deserialize(element); // Assert Assert.Equal(expected, item); }