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)); } }
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()); }
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); }