public void GivenConfigurationWithResolvableKeys_and_MultipleValueResolvers_ReturnAttributesWithConcatanatedValues() { // Arrange var contentItem = JObject.Parse(validJsonWithMultipleRelatedKeys); var attributesResolver = new GroupByPrefixTokenGridSettingsAttributesResolver("_"); var defaultValueResolver = new StringConcatGridSettingValueResolver(" "); var valueResolvers = new Dictionary <string, IGridSettingsAttributeValueResolver>() { { "data-csv", new StringConcatGridSettingValueResolver(",") }, { "data-hyphenated", new StringConcatGridSettingValueResolver("-") } }; var service = new GridSettingsAttributesService(attributesResolver, defaultValueResolver, valueResolvers); // Act var attributes = service.GetSettingsAttributes(contentItem); // Assert Assert.IsTrue(attributes.ContainsKey("data-csv")); Assert.IsTrue(attributes.ContainsKey("data-hyphenated")); Assert.IsTrue(attributes.ContainsKey("data-default")); Assert.AreEqual("first,second,third", attributes["data-csv"]); Assert.AreEqual("first-second-third", attributes["data-hyphenated"]); Assert.AreEqual("first second third", attributes["data-default"]); }
public void GivenConfigurationWithResolvableKeys_and_CsvValueResolver_ReturnAttributesWithCsvConcatanatedValues() { // Arrange var contentItem = JObject.Parse(validJsonWithRelatedKeysAndCsv); var attributesResolver = new GroupByPrefixTokenGridSettingsAttributesResolver("_"); var defaultValueResolver = new StringConcatGridSettingValueResolver(","); var service = new GridSettingsAttributesService(attributesResolver, defaultValueResolver); // Act var attributes = service.GetSettingsAttributes(contentItem); // Assert Assert.IsTrue(attributes.ContainsKey("data-csv")); Assert.AreEqual("first,second,third", attributes["data-csv"]); }
public void GivenAnAttributeWithEmptyStringValues_ExpectWhiteSpaceValuesAreIgnoredByDefault() { var attributeValues = new Dictionary <string, string>() { { "attr_1", "foo" }, { "attr_2", "" }, { "attr_3", " " }, { "attr_4", "bar" } }; var attribute = new KeyValuePair <string, IDictionary <string, string> >("attr", attributeValues); var valueResolver = new StringConcatGridSettingValueResolver(); var value = valueResolver.ResolveAttributeValue(attribute); Assert.AreEqual("foo bar", value); }
public void GivenAToken_ExpectCorrectOutput(string token, string outcome) { var attributeValues = new Dictionary <string, string>() { { "attr_1", "foo" }, { "attr_2", "bar" }, { "attr_3", "hello" }, { "attr_4", "world" } }; var attribute = new KeyValuePair <string, IDictionary <string, string> >("attr", attributeValues); var valueResolver = new StringConcatGridSettingValueResolver(token); var value = valueResolver.ResolveAttributeValue(attribute); Assert.AreEqual(outcome, value); }
public void GivenAnAttributeWithEmptyOrNullStringValues_And_StringConcatBehaviorRespectNullOrWhiteSpace_ExpectWhiteSpaceValuesAreRespected() { var attributeValues = new Dictionary <string, string>() { { "attr_1", "foo" }, { "attr_2", "" }, { "attr_3", null }, { "attr_4", " " }, { "attr_5", "bar" } }; var attribute = new KeyValuePair <string, IDictionary <string, string> >("attr", attributeValues); var valueResolver = new StringConcatGridSettingValueResolver(",", StringConcatBehavior.RespectNullOrWhiteSpace); var value = valueResolver.ResolveAttributeValue(attribute); Assert.AreEqual("foo,,, ,bar", value); }