コード例 #1
0
 public void GetSimpleNode()
 {
     var notifies = new Totals();
     Expression<Func<int>> expr = () => notifies.Total;
     var subExpressions = ExpressionParser.GetChildSources(expr);
     subExpressions.Count.ShouldBe(1);
     var propertyNode = subExpressions.Single();
     propertyNode.FullPath.ShouldBe("notifies.Total");
     propertyNode.SourcePaths.Count.ShouldBe(1);
     var notifiesNode = propertyNode.SourcePaths[0];
     notifiesNode.FullPath.ShouldBe("notifies");
 }
コード例 #2
0
        public void TriggersOnPropertyChanged()
        {
            var notifies = new Totals
            {
                TaxPercentage = 20
            };

            engine.Assign(() => notifies.Total)
                  .From(() => (int)(notifies.SubTotal * (1m + (notifies.TaxPercentage / 100m))), e => { });
            Console.WriteLine(engine.ToString());

            notifies.SubTotal = 100;

            notifies.Total.ShouldBe(120);
            engineInstrumentation.AssertSetCount("notifies.Total", 1);
        }
コード例 #3
0
        public void DefaultColoursForDifferentNodes()
        {
            var notifies = new Totals
            {
                TaxPercentage = 20
            };

            engine.Assign(() => notifies.Total)
                  .From(() => (int)(notifies.SubTotal * (1m + (notifies.TaxPercentage / 100m))), e => { });

            var dotFormat = engine.ToDotFormat(string.Empty);

            Approvals.Verify(dotFormat);
        }