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));
            }
Example #4
0
 public void Visit(BoundValueExpression <T> expression)
 {
     // NOP
 }