public void It_Should_Dereference_A_Dictionary() { // Arrange var dict = new Dictionary<String, IExpressionConstant> { {"string1", new StringValue("a string")}, {"string2", NumericValue.Create(123)}, {"string3", NumericValue.Create(456m)} }; DictionaryValue dictValue = new DictionaryValue(dict); // Assert Assert.That(dictValue.ValueAt("string1").Value, Is.EqualTo(dict["string1"].Value)); }
private LiquidExpressionResult DoLookup(ITemplateContext ctx, DictionaryValue dictionaryValue, IExpressionConstant indexProperty) { String propertyNameString = ValueCaster.RenderAsString(indexProperty); if (propertyNameString.ToLower().Equals("size")) { return LiquidExpressionResult.Success(NumericValue.Create(dictionaryValue.DictValue.Keys.Count())); } return LiquidExpressionResult.Success(dictionaryValue.ValueAt(indexProperty.Value.ToString())); }