Пример #1
0
        public void CanMergeTags()
        {
            // ARRANGE
            var tags1 = new TagCollection(3);

            tags1.Add("key1", "value1");
            tags1.Add("key2", "value2");
            tags1.Add("key0", "value0");

            var tags2 = new TagCollection(3);

            tags2.Add("key3", "value3");
            tags2.Add("key2", "value2");
            tags2.Add("key4", "value4");

            tags1 = tags1.AsReadOnly();
            tags2 = tags2.AsReadOnly();

            // ACT
            tags1.Merge(tags2);

            // ASSERT
            Assert.AreEqual(5, tags1.Count);
            for (int i = 0; i < 5; i++)
            {
                Assert.AreEqual("key" + i, tags1.KeyAt(i));
                Assert.AreEqual("value" + i, tags1.ValueAt(i));
            }
        }
Пример #2
0
        public static TagCollection ToTags(this Dictionary <string, string> dict)
        {
            TagCollection tags = new TagCollection(dict.Count);

            foreach (var kv in dict)
            {
                tags.Add(kv.Key, kv.Value);
            }
            return(tags.AsReadOnly());
        }
Пример #3
0
        public void CanAddAndCheckContainsTags()
        {
            // ARRANGE
            var tags = new TagCollection(3);

            // ACT
            tags.Add("key1", "value1");
            tags.Add("key2", "value2");
            tags.Add("key0", "value0");

            tags = tags.AsReadOnly();

            // ASSERT
            Assert.IsTrue(tags.IndexOf("key0") >= 0);
            Assert.AreEqual("value0", tags[tags.IndexOf("key0")].Value);
            Assert.IsTrue(tags.IndexOf("key1") >= 0);
            Assert.AreEqual("value1", tags[tags.IndexOf("key1")].Value);
            Assert.IsTrue(tags.IndexOf("key2") >= 0);
            Assert.AreEqual("value2", tags[tags.IndexOf("key2")].Value);
            Assert.IsFalse(tags.IndexOf("key3") >= 0);
        }
        public void CanGetBuildingStyle()
        {
            // ARRANGE
            var provider   = new StylesheetProvider(TestHelper.DefaultMapcssFile, TestHelper.GetFileSystemService());
            var stylesheet = provider.Get();

            var tags = new TagCollection();

            tags.Add("building", "residential");
            var building = new Area()
            {
                Id     = 1,
                Points = new List <GeoCoordinate>(),
                Tags   = tags.AsReadOnly()
            };

            // ACT
            var rule  = stylesheet.GetModelRule(building, MapConsts.MaxZoomLevel);
            var style = rule.GetFacadeBuilder();

            // ASSERT
            Assert.AreEqual("default", style);
        }