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"); }
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); }
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); }