Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        public void CanDeserializePlistEntry(string value, object expected)
        {
            // Act
            var element = XElement.Parse(value);
            var item    = PlistConvert.Deserialize(element);

            // Assert
            Assert.Equal(expected, item);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
        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);
        }