public void Evaluate_Called_ReturnsValueFromSource() { var expression = new BoundValueExpression <SomeClass>(s => s.SomeValue, nameof(SomeClass.SomeValue)); var someClass = new SomeClass() { SomeValue = 5.0 }; Assert.That(expression.Evaluate(someClass), Is.EqualTo(5.0)); }
public void Value_WhenCloned_Unchanged() { var expression = new BoundValueExpression <SomeClass>(s => s.SomeValue, nameof(SomeClass.SomeValue)); var clone = (BoundValueExpression <SomeClass>)expression.Clone(); var someClass = new SomeClass() { SomeValue = 5.0 }; Assert.That(expression.Evaluate(someClass), Is.EqualTo(5.0)); Assert.That(clone.Evaluate(someClass), Is.EqualTo(5.0)); }
public void Evaluate_CalledSecondTimeWithDifferentValueOnSource_ReturnsNewValue() { var expression = new BoundValueExpression <SomeClass>(s => s.SomeValue, nameof(SomeClass.SomeValue)); var someClass = new SomeClass() { SomeValue = 5.0 }; expression.Evaluate(someClass); someClass.SomeValue = 9.0; Assert.That(expression.Evaluate(someClass), Is.EqualTo(9.0)); }
public void Visit(BoundValueExpression <T> expression) { // NOP }