Пример #1
0
        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"]);
        }
Пример #2
0
        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);
        }