public void Setting_name_is_case_insensitive() { var settingItem = new SettingItemGroup(SettingName); var child = new SettingItemGroup("ChildItem", "ChildItemValue"); var attr = new SettingAttributeItem("Attr1", "AttributeValue1"); settingItem.Add(child); settingItem.Add(attr); var foundChild = settingItem.GetChild("childitem"); var foundAttr = settingItem.GetAttribute("attr1"); Assert.NotNull(foundChild); Assert.NotNull(foundAttr); }
public void Can_overwrite_attribute_value_of_existing_child() { var settingItem = new SettingItemGroup(SettingName); var attr = new SettingAttributeItem("Attr1", "AttributeValue1"); settingItem.Add(attr); var overwriteAttr2 = new SettingAttributeItem("Attr1", "OverwriteAttr"); settingItem.Add(overwriteAttr2); var foundAttr = settingItem.GetAttribute("Attr1"); Assert.Equal <SettingItemBase>(overwriteAttr2, foundAttr); }
public void Can_overwrite_value_of_existing_child() { var settingItem = new SettingItemGroup(SettingName); var child = new SettingItemGroup("ChildItem", "ChildItemValue"); settingItem.Add(child); var overwriteChildItem = new SettingItemGroup("ChildItem", "Overwrited"); settingItem.Add(overwriteChildItem); var testChild = settingItem.GetChild("ChildItem"); Assert.Equal <SettingItemBase>(overwriteChildItem, testChild); }
public void Can_add_and_find_attribute() { var settingItem = new SettingItemGroup(SettingName); var attr = new SettingAttributeItem("Attr1", "AttributeValue1"); settingItem.Add(attr); var foundAttr = settingItem.GetAttribute("Attr1"); Assert.NotNull(foundAttr); Assert.Equal("AttributeValue1", foundAttr.Value); }
public void Can_add_children() { var settingItem = new SettingItemGroup(SettingName); var child = new SettingItemGroup("ChildItem", "ChildItemValue"); settingItem.Add(child); var testChild = settingItem.GetChild("ChildItem"); Assert.NotEmpty(settingItem.Children); Assert.Equal <SettingItemBase>(child, testChild); }
public void Can_merge_attributes_of_two_item_has_same_name() { var settingItem = new SettingItemGroup(SettingName); var child = new SettingItemGroup("ChildItem", "ChildItemValue"); child.Add(new SettingAttributeItem("myAttribute1", "1")); settingItem.Add(child); var child2 = new SettingItemGroup("ChildItem", "ChildItemValue1"); child2.Add(new SettingAttributeItem("myAttribute2", "2")); settingItem.Add(child2); Assert.Equal(1, settingItem.Children.Count()); var foundChild = settingItem["ChildItem"] as SettingItemGroup; Assert.True(foundChild.HasAttributes); Assert.Equal(2, foundChild.Attributes.Count()); }
public void Can_add_multiple_item_with_same_name_but_has_different_unique_key_attribute() { var settingItem = new SettingItemGroup(SettingName); int count = 10; for (int i = 0; i < count; i++) { var child = new SettingItemGroup("node", "Value-" + i.ToString()); child.Add(new SettingAttributeItem(Euroland.NetCore.ToolsFramework.Setting.CONST.SETTING_UNIQUE_KEY_ATTRIBUTE, i.ToString())); settingItem.Add(child); } Assert.Equal(count, settingItem.Children.Count()); }