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)); } }
private static bool TryGetValueInternal(TagCollection tags, string key, out string value) { value = null; if (tags == null) { return(false); } var index = tags.IndexOf(key); if (index < 0) { return(false); } value = tags.ValueAt(index); return(true); }
private bool IsArea(TagCollection tags) { //return tags != null && tags.Any(tag => AreaKeys.Contains(tag.Key) && !tags.IsFalse(tag.Key)); if (tags == null) { return(false); } for (int i = 0; i < tags.Count; i++) { if (AreaKeys.Contains(tags.KeyAt(i)) && !BooleanFalseValues.Contains(tags.ValueAt(i))) { return(true); } } return(false); }