public void It_Should_Derefence_A_Variable() { // Arrange var variableReference = new VariableReference("myvar"); var templateContext = new TemplateContext(); templateContext.DefineLocalVariable("myvar", new StringValue("HELLO")); // Act var result = variableReference.Eval(templateContext, new List<Option<IExpressionConstant>>()).SuccessValue<StringValue>(); // Assert Assert.That(result.Value, Is.EqualTo("HELLO")); }
public void It_Should_Dereference_A_Dictionary_Element() { // Arrange var variableReference = new VariableReference("myvar"); var variableReferenceIndex = new VariableReferenceIndex(variableReference, "test"); var templateContext = new TemplateContext(); IDictionary<String, IExpressionConstant> dict = new Dictionary<string, IExpressionConstant> { { "test", new StringValue("aaa") } }; templateContext.DefineLocalVariable("myvar", new DictionaryValue(dict)); // Act var result = variableReferenceIndex.Eval(templateContext, new List<Option<IExpressionConstant>>()); // Assert Assert.That(result.SuccessValue<StringValue>().StringVal, Is.EqualTo("aaa")); }
public VariableReferenceIndex(VariableReference variableReference, Object index) { _variableReference = variableReference; _index = index; }
public void Visit(VariableReference variableReference) { _result += variableReference.ToString(); }
public void Visit(VariableReference variableReference) { variableReference.Eval(_templateContext, new List<Option<IExpressionConstant>>()); }
private static String AsString(VariableReference varref) { return varref.Name; }