Esempio n. 1
0
        public void LeafletModel_ConvertToJsonAndBack_ShouldBeEqual()
        {
            foreach (var culture in Cultures)
            {
                Thread.CurrentThread.CurrentCulture = new CultureInfo(culture);

                var icon = new Terratype.Models.Icon()
                {
                    Id   = "test",
                    Url  = new Uri("http://mydomain.com/myfile.jpg"),
                    Size = new Terratype.Models.Icon.SizeDefinition()
                    {
                        Width  = 50,
                        Height = 66
                    },
                    Anchor = new Terratype.Models.Icon.AnchorDefinition()
                    {
                        Vertical   = 25,
                        Horizontal = 33
                    }
                };

                var provider = new Terratype.Providers.LeafletV1()
                {
                    MapSources = new Terratype.Providers.LeafletV1.MapSourceDefinition[] {
                        new Terratype.Providers.LeafletV1.MapSourceDefinition {
                            TileServer = new Terratype.Providers.LeafletV1.MapSourceDefinition.TileServerDefinition()
                            {
                                Id = "TileServerId1"
                            },
                            MinZoom = 0,
                            MaxZoom = 10
                        },
                        new Terratype.Providers.LeafletV1.MapSourceDefinition {
                            TileServer = new Terratype.Providers.LeafletV1.MapSourceDefinition.TileServerDefinition()
                            {
                                Id = "TileServerId2"
                            },
                            MinZoom = 11,
                            MaxZoom = 20,
                            Key     = "AAAABBBBCCCCDDDD"
                        }
                    },
                    ZoomControl = new Terratype.Providers.LeafletV1.ZoomControlDefinition()
                    {
                        Enable   = true,
                        Position = Terratype.Providers.LeafletV1.ControlPositions.BottomLeft
                    },
                };

                var model = new Terratype.Models.Model()
                {
                    Zoom  = rnd.Next(19) + 1,
                    Label = new Terratype.Labels.Standard()
                    {
                        Content = new HtmlString("<p>This is some text<p>")
                    },
                    Lookup   = "Paris, France",
                    Position = new Terratype.CoordinateSystems.Wgs84(RandomLatLng()),
                };

                //  Use private set to add properties to class
                PrivateObject accessor = new PrivateObject(model);
                accessor.SetProperty(nameof(Terratype.Models.Model.Provider), provider);
                accessor.SetProperty(nameof(Terratype.Models.Model.Icon), icon);

                var json = JsonConvert.SerializeObject(model);

                var model2 = new Terratype.Models.Model(json);

                model.ShouldBeEquivalentTo <Terratype.Models.Model>(model2);

                var json2 = JsonConvert.SerializeObject(model2);

                Assert.AreEqual(json, json2);
            }
        }
Esempio n. 2
0
        public void BingModel_ConvertToJsonAndBack_ShouldBeEqual()
        {
            foreach (var culture in Cultures)
            {
                Thread.CurrentThread.CurrentCulture = new CultureInfo(culture);

                var icon = new Terratype.Models.Icon()
                {
                    Id   = "test",
                    Url  = new Uri("http://mydomain.com/myfile.jpg"),
                    Size = new Terratype.Models.Icon.SizeDefinition()
                    {
                        Width  = 50,
                        Height = 66
                    },
                    Anchor = new Terratype.Models.Icon.AnchorDefinition()
                    {
                        Vertical   = 25,
                        Horizontal = 33
                    }
                };

                var provider = new Terratype.Providers.BingMapsV8()
                {
                    Version  = "release",
                    ApiKey   = "abcdefghhijklmnopqrstuvwxyz",
                    Language = "en-gb",
                    Search   = new Terratype.Providers.BingMapsV8.SearchDefinition()
                    {
                        Enable = Terratype.Providers.BingMapsV8.SearchDefinition.SearchStatus.Enable
                    },
                    Variety = new Terratype.Providers.BingMapsV8.VarietyDefinition()
                    {
                        Basic      = false,
                        Satellite  = true,
                        StreetView = true
                    },
                    Scale = new Terratype.Providers.BingMapsV8.Control()
                    {
                        Enable = false
                    },
                    ZoomControl = new Terratype.Providers.BingMapsV8.Control()
                    {
                        Enable = true
                    },
                    Traffic = new Terratype.Providers.BingMapsV8.TrafficDefinition()
                    {
                        Enable = true,
                        Legend = true
                    },
                    ShowLabels = false
                };

                var model = new Terratype.Models.Model()
                {
                    Zoom  = rnd.Next(19) + 1,
                    Label = new Terratype.Labels.Standard()
                    {
                        Content = new HtmlString("<p>This is some text<p>")
                    },
                    Lookup   = "Paris, France",
                    Position = new Terratype.CoordinateSystems.Wgs84(RandomLatLng()),
                };

                //  Use private set to add properties to class
                PrivateObject accessor = new PrivateObject(model);
                accessor.SetProperty(nameof(Terratype.Models.Model.Provider), provider);
                accessor.SetProperty(nameof(Terratype.Models.Model.Icon), icon);

                var json = JsonConvert.SerializeObject(model);

                var model2 = new Terratype.Models.Model(json);

                model.ShouldBeEquivalentTo <Terratype.Models.Model>(model2);

                var json2 = JsonConvert.SerializeObject(model2);

                Assert.AreEqual(json, json2);
            }
        }
Esempio n. 3
0
        public void GMapsModel_ConvertToJsonAndBack_ShouldBeEqual()
        {
            foreach (var culture in Cultures)
            {
                Thread.CurrentThread.CurrentCulture = new CultureInfo(culture);

                var icon = new Terratype.Models.Icon()
                {
                    Id   = "test",
                    Url  = new Uri("http://mydomain.com/myfile.jpg"),
                    Size = new Terratype.Models.Icon.SizeDefinition()
                    {
                        Width  = 50,
                        Height = 66
                    },
                    Anchor = new Terratype.Models.Icon.AnchorDefinition()
                    {
                        Vertical   = 25,
                        Horizontal = 33
                    }
                };

                var provider = new Terratype.Providers.GoogleMapsV3()
                {
                    Variety = new Terratype.Providers.GoogleMapsV3.VarietyDefinition()
                    {
                        Selector = new Terratype.Providers.GoogleMapsV3.VarietyDefinition.SelectorDefinition()
                        {
                            Type     = Terratype.Providers.GoogleMapsV3.VarietyDefinition.SelectorType.Default,
                            Position = Terratype.Providers.GoogleMapsV3.ControlPositions.BottomRight
                        },
                        Basic     = true,
                        Satellite = false,
                        Terrain   = true
                    },
                    StreetView = new Terratype.Providers.GoogleMapsV3.Control()
                    {
                        Enable   = false,
                        Position = Terratype.Providers.GoogleMapsV3.ControlPositions.RightBottom
                    },
                    Fullscreen = new Terratype.Providers.GoogleMapsV3.Control()
                    {
                        Enable   = true,
                        Position = Terratype.Providers.GoogleMapsV3.ControlPositions.LeftCenter
                    },
                    Scale = new Terratype.Providers.GoogleMapsV3.Control()
                    {
                        Enable   = false,
                        Position = Terratype.Providers.GoogleMapsV3.ControlPositions.TopLeft
                    },
                    ZoomControl = new Terratype.Providers.GoogleMapsV3.Control()
                    {
                        Enable   = true,
                        Position = Terratype.Providers.GoogleMapsV3.ControlPositions.BottomLeft
                    },
                    Search = new Terratype.Providers.GoogleMapsV3.SearchDefinition()
                    {
                        Enable = Terratype.Providers.GoogleMapsV3.SearchDefinition.SearchStatus.Autocomplete,
                        Limit  = new Terratype.Providers.GoogleMapsV3.SearchDefinition.LimitDefinition()
                        {
                            Countries = new string[] { "France", "Germany", "Italy", "United Kingdom" }
                        }
                    }
                };
                PrivateObject providerAccessor = new PrivateObject(provider);
                providerAccessor.SetProperty(nameof(Terratype.Providers.GoogleMapsV3.Version), "3");
                providerAccessor.SetProperty(nameof(Terratype.Providers.GoogleMapsV3.ApiKey), "XXXAAABBBCC1234567890abcdefghijklmnopqrstuvwxyz");
                providerAccessor.SetProperty(nameof(Terratype.Providers.GoogleMapsV3.ForceHttps), true);
                providerAccessor.SetProperty(nameof(Terratype.Providers.GoogleMapsV3.Language), "en-gb");
                providerAccessor.SetProperty(nameof(Terratype.Providers.GoogleMapsV3.PredefineStyling), "pretty");
                providerAccessor.SetProperty(nameof(Terratype.Providers.GoogleMapsV3.ShowRoads), false);
                providerAccessor.SetProperty(nameof(Terratype.Providers.GoogleMapsV3.ShowLandmarks), true);
                providerAccessor.SetProperty(nameof(Terratype.Providers.GoogleMapsV3.ShowLabels), false);


                var model = new Terratype.Models.Model()
                {
                    Zoom  = rnd.Next(19) + 1,
                    Label = new Terratype.Labels.Standard()
                    {
                        Content = new HtmlString("<p>This is some text<p>")
                    },
                    Lookup   = "Paris, France",
                    Position = new Terratype.CoordinateSystems.Wgs84(RandomLatLng()),
                };

                //  Use private set to add properties to class
                PrivateObject accessor = new PrivateObject(model);
                accessor.SetProperty(nameof(Terratype.Models.Model.Provider), provider);
                accessor.SetProperty(nameof(Terratype.Models.Model.Icon), icon);

                var json = JsonConvert.SerializeObject(model);

                var model2 = new Terratype.Models.Model(json);

                model.ShouldBeEquivalentTo <Terratype.Models.Model>(model2);

                var json2 = JsonConvert.SerializeObject(model2);

                Assert.AreEqual(json, json2);
            }
        }