public void ItemText_MergeEmpty() { var item1 = new ItemText() { Items = new List <ItemTextUnit>() { new ItemTextUnit("cs-ru", "1"), new ItemTextUnit("cs-cs", "1"), } }; var item2 = new ItemText() { Items = new List <ItemTextUnit>() { new ItemTextUnit("cs-ru", "2"), new ItemTextUnit("ru-ru", "1"), } }; var item3 = new ItemText(); item3.Merge(item1, item2); Assert.AreEqual("1 2", item3.FirstOrDefault("cs-ru").Text); Assert.AreEqual("1", item3.FirstOrDefault("cs-cs").Text); }
/// <summary> /// Оставляем только элемент с указанным языком, либо любой первый, если указанного нет /// </summary> /// <param name="language"></param> public static ItemTextUnit Localize(this ItemText item, string language) { var found = item.FirstOrDefault(language); return((found != null) ? new ItemTextUnit(found.Language, found.Text) : default(ItemTextUnit)); }
/// <summary> /// Оставляем только элемент с указанным языком, либо любой первый, если указанного нет /// </summary> /// <param name="filter.Language"></param> public static ItemTextUnit FilterOut(this ItemText item, OutputFilter filter) { var found = item.FirstOrDefault(filter.Language); return((found != null) ? new ItemTextUnit(found.Language, found.Text) : default(ItemTextUnit)); }