Esempio n. 1
0
 public DependencyEngineListener(DependencyEngine dependencyEngine, Action <string> onWalkComplete, bool indent = true, VisualisationOptions visualisationOptions = null)
 {
     this.dependencyEngine     = dependencyEngine;
     this.onWalkComplete       = onWalkComplete;
     this.indent               = indent;
     this.visualisationOptions = visualisationOptions ?? new VisualisationOptions();
     dependencyEngine.AddInstrumentation(this);
 }
 public DependencyEngineListener(DependencyEngine dependencyEngine, Action<string> onWalkComplete, bool indent = true, VisualisationOptions visualisationOptions = null)
 {
     this.dependencyEngine = dependencyEngine;
     this.onWalkComplete = onWalkComplete;
     this.indent = indent;
     this.visualisationOptions = visualisationOptions ?? new VisualisationOptions();
     dependencyEngine.AddInstrumentation(this);
 }
Esempio n. 3
0
 public TransitionFileLogger(DependencyEngine dependencyEngine, string filePath)
 {
     this.filePath = filePath;
     if (File.Exists(filePath))
     {
         File.Delete(filePath);
     }
     listener = new DependencyEngineListener(dependencyEngine, OnTransition, false);
 }
Esempio n. 4
0
 public TransitionFileLogger(DependencyEngine dependencyEngine, string filePath)
 {
     this.filePath = filePath;
     if (File.Exists(filePath))
     {
         File.Delete(filePath);
     }
     listener = new DependencyEngineListener(dependencyEngine, OnTransition, false);
 }
Esempio n. 5
0
        public void CheckCyclesShouldNotThrowWhenNoCycleExists()
        {
            engine = new DependencyEngine();
            var a = new SinglePropertyType();
            var b = new SinglePropertyType();

            engine.Assign(() => b.Value).From(() => a.Value * 2, ex => { });

            Should.NotThrow(() => engine.CheckCycles());
        }
Esempio n. 6
0
        public static string ToDotFormat(this DependencyEngine dependencyEngine,
                                         string title = null,
                                         Func <VertexVisualProperties, VertexVisualProperties> overrideVisualProperties = null,
                                         VisualisationOptions options = null)
        {
            var graphSnapshot = dependencyEngine.GetGraphSnapshot();
            var visualsaition = new DotVisualisation(graphSnapshot);

            return(visualsaition.Generate(title, overrideVisualProperties ?? (v => v), true, options ?? new VisualisationOptions()));
        }
        public void LocalPropertiesCanBeUsed()
        {
            var dependencyEngine = new DependencyEngine();
            dependencyEngine.Assign(() => C).From(() => Add(A, B), ex => { });

            Console.Write(dependencyEngine.ToDotFormat());

            A = 1;
            dependencyEngine.ValueHasChanged(this, "A");
            B = 1;
            dependencyEngine.ValueHasChanged(this, "B");

            C.ShouldBe(2);
        }
Esempio n. 8
0
        public void CheckCyclesShouldThrowWhenThereIsACycle()
        {
            engine = new DependencyEngine();
            var a = new SinglePropertyType();
            var b = new SinglePropertyType();

            engine.Assign(() => b.Value).From(() => a.Value * 2, ex => { });
            engine.Assign(() => a.Value).From(() => b.Value - 2, ex => { });

            var dot = engine.ToDotFormat("Title");

            Should.Throw <CycleDetectedException>(() => engine.CheckCycles())
            .Message.ShouldBe(@"1 cycles found:
a.Value --> (a.Value * 2) --> b.Value --> (b.Value - 2) --> a.Value");
        }
Esempio n. 9
0
        public void LocalPropertiesCanBeUsed()
        {
            var dependencyEngine = new DependencyEngine();

            dependencyEngine.Assign(() => C).From(() => Add(A, B), ex => { });

            Console.Write(dependencyEngine.ToDotFormat());

            A = 1;
            dependencyEngine.ValueHasChanged(this, "A");
            B = 1;
            dependencyEngine.ValueHasChanged(this, "B");

            C.ShouldBe(2);
        }
        internal static IServiceCollection AddDependencyPackage <TConfigurator, TEngine, TPackage>(this IServiceCollection target, IConfiguration applicationConfiguration, out IServiceProvider serviceProvider)
            where TConfigurator : class, new()
            where TEngine : class, IDependencyEngine
            where TPackage : class, IDependencyPackage <TConfigurator, TEngine>, new()
        {
            if (target.Any(element => element.ServiceType == typeof(IDependencyEngine)))
            {
                throw new InvalidOperationException("Another dependency package has already been added to the service collection.");
            }

            var package = new TPackage();
            var engine  = DependencyEngine.New <TConfigurator, TEngine, TPackage>(applicationConfiguration, target);

            ReferenceManager.AddObject(engine);
            serviceProvider = engine.Provider;
            return(target);
        }
Esempio n. 11
0
        public void CheckCyclesShouldThrowWhenThereAreTwoCycles()
        {
            engine = new DependencyEngine();
            var a = new SinglePropertyType();
            var b = new SinglePropertyType();
            var c = new SinglePropertyType();
            var d = new SinglePropertyType();

            engine.Assign(() => b.Value).From(() => a.Value * 2, ex => { });
            engine.Assign(() => a.Value).From(() => b.Value - 2, ex => { });

            engine.Assign(() => d.Value).From(() => c.Value * 2, ex => { });
            engine.Assign(() => c.Value).From(() => d.Value - 2, ex => { });

            Should.Throw <CycleDetectedException>(() => engine.CheckCycles())
            .Message.ShouldBe(@"2 cycles found:
a.Value --> (a.Value * 2) --> b.Value --> (b.Value - 2) --> a.Value
c.Value --> (c.Value * 2) --> d.Value --> (d.Value - 2) --> c.Value");
        }
Esempio n. 12
0
        public MainViewModel()
        {
            Mortgage = new MortgageViewModel();
            engine   = new DependencyEngine();

            engine.Assign(() => C).From(() => Add(A, B), e => { });
            engine.Assign(() => E).From(() => Multiply(C, D), e => { });

            A = 2;
            B = 3;
            D = 5;
            engine.LogTransitionsInDotFormat(Path.Combine(Environment.CurrentDirectory, "Transitions.log"));

            mortgageEngine = new DependencyEngine();
            mortgageEngine
            .Assign(() => Mortgage.Payments)
            .From(() => MortgageCalculations.CalculatePayments(
                      Mortgage.Amount,
                      Mortgage.InterestRate,
                      Mortgage.LoanLength,
                      Mortgage.PaymentFrequency),
                  ex => { });

            mortgageEngine
            .Assign(() => Mortgage.LoanLength)
            .From(() => MortgageCalculations.CalculateLength(
                      Mortgage.Amount,
                      Mortgage.Payments,
                      Mortgage.InterestRate,
                      Mortgage.PaymentFrequency),
                  ex => { });

            graphOptionsEngine = new DependencyEngine();
            graphOptionsEngine
            .Assign(() => MortgageGraph)
            .From(() => CreateMortgageGraph(ShowRoots, ShowFormulas), ex => { });
            MortgageGraph = CreateMortgageGraph(ShowRoots, ShowFormulas);
        }
Esempio n. 13
0
        public MainViewModel()
        {
            Mortgage = new MortgageViewModel();
            engine = new DependencyEngine();

            engine.Assign(() => C).From(() => Add(A, B), e => { });
            engine.Assign(() => E).From(() => Multiply(C, D), e => { });

            A = 2;
            B = 3;
            D = 5;
            engine.LogTransitionsInDotFormat(Path.Combine(Environment.CurrentDirectory, "Transitions.log"));

            mortgageEngine = new DependencyEngine();
            mortgageEngine
                .Assign(() => Mortgage.Payments)
                .From(() => MortgageCalculations.CalculatePayments(
                        Mortgage.Amount,
                        Mortgage.InterestRate,
                        Mortgage.LoanLength,
                        Mortgage.PaymentFrequency),
                        ex => { });

            mortgageEngine
                .Assign(() => Mortgage.LoanLength)
                .From(() => MortgageCalculations.CalculateLength(
                        Mortgage.Amount,
                        Mortgage.Payments,
                        Mortgage.InterestRate,
                        Mortgage.PaymentFrequency),
                        ex => { });

            graphOptionsEngine = new DependencyEngine();
            graphOptionsEngine
                .Assign(() => MortgageGraph)
                .From(() => CreateMortgageGraph(ShowRoots, ShowFormulas), ex => { });
            MortgageGraph = CreateMortgageGraph(ShowRoots, ShowFormulas);
        }
Esempio n. 14
0
        public void CyclicGraph()
        {
            var mortgage = new Mortgate
            {
                InterestRate     = 5.5,
                LoanAmount       = 150000,
                LoanLength       = 15,
                PaymentFrequency = PaymentFrequency.Monthly
            };
            var engine = new DependencyEngine();

            engine.Assign(() => mortgage.PaymentAmount)
            .From(() => CalculatePayments(
                      mortgage.LoanAmount,
                      mortgage.InterestRate,
                      mortgage.LoanLength,
                      mortgage.PaymentFrequency),
                  ex => { });

            engine.Assign(() => mortgage.LoanLength)
            .From(() => CalculateLength(
                      mortgage.LoanAmount,
                      mortgage.PaymentAmount,
                      mortgage.InterestRate,
                      mortgage.PaymentFrequency),
                  ex => { });

            var dotFormat = engine.ToDotFormat();

            Console.WriteLine(dotFormat);

            engine.ValueHasChanged(mortgage, "PaymentFrequency");

            mortgage.PaymentAmount.ShouldBe(1225, 1);
            engine.ToDotFormat().ShouldBe(dotFormat);
        }
Esempio n. 15
0
 public DependencyEngineShould()
 {
     _contract = typeof(IBooRepository);
     _engine   = new DependencyEngine(10);
 }
Esempio n. 16
0
 public ActionTarget()
 {
     engine = new DependencyEngine();
 }
 public NotifyPropertyChangedTests()
 {
     engineInstrumentation = new TestInstrumentation();
     engine = new DependencyEngine();
     engine.AddInstrumentation(engineInstrumentation);
 }
Esempio n. 18
0
 public static IDisposable OnWalkComplete(this DependencyEngine dependencyEngine, Action <string> onWalkComplete)
 {
     return(new DependencyEngineListener(dependencyEngine, onWalkComplete));
 }
Esempio n. 19
0
 public static IDisposable LogTransitionsInDotFormat(this DependencyEngine dependencyEngine, string filePath)
 {
     return(new TransitionFileLogger(dependencyEngine, filePath));
 }
Esempio n. 20
0
 public NodeRepository(DependencyEngine engine)
 {
     this.engine = engine;
     nodeLookup  = new Dictionary <object, INodeInfo>();
 }
Esempio n. 21
0
 public ApiTest()
 {
     engine = new DependencyEngine();
     SomeProperty = false;
     count = 0;
 }
Esempio n. 22
0
        public void CyclicGraph()
        {
            var mortgage = new Mortgate
                               {
                                   InterestRate = 5.5,
                                   LoanAmount = 150000,
                                   LoanLength = 15,
                                   PaymentFrequency = PaymentFrequency.Monthly
                               };
            var engine = new DependencyEngine();

            engine.Assign(() => mortgage.PaymentAmount)
                .From(() => CalculatePayments(
                        mortgage.LoanAmount,
                        mortgage.InterestRate,
                        mortgage.LoanLength,
                        mortgage.PaymentFrequency),
                        ex => { });

            engine.Assign(() => mortgage.LoanLength)
                .From(() => CalculateLength(
                        mortgage.LoanAmount,
                        mortgage.PaymentAmount,
                        mortgage.InterestRate,
                        mortgage.PaymentFrequency),
                        ex => { });

            var dotFormat = engine.ToDotFormat();
            Console.WriteLine(dotFormat);

            engine.ValueHasChanged(mortgage, "PaymentFrequency");

            mortgage.PaymentAmount.ShouldBe(1225, 1);
            engine.ToDotFormat().ShouldBe(dotFormat);
        }
Esempio n. 23
0
        public void CheckCyclesShouldThrowWhenThereAreTwoCycles()
        {
            engine = new DependencyEngine();
            var a = new SinglePropertyType();
            var b = new SinglePropertyType();
            var c = new SinglePropertyType();
            var d = new SinglePropertyType();

            engine.Assign(() => b.Value).From(() => a.Value * 2, ex => { });
            engine.Assign(() => a.Value).From(() => b.Value - 2, ex => { });

            engine.Assign(() => d.Value).From(() => c.Value * 2, ex => { });
            engine.Assign(() => c.Value).From(() => d.Value - 2, ex => { });

            Should.Throw<CycleDetectedException>(() => engine.CheckCycles())
                  .Message.ShouldBe(@"2 cycles found:
            a.Value --> (a.Value * 2) --> b.Value --> (b.Value - 2) --> a.Value
            c.Value --> (c.Value * 2) --> d.Value --> (d.Value - 2) --> c.Value");
        }
Esempio n. 24
0
 public AlgoGraph(Data data)
 {
     this.data = data;
     engine = new DependencyEngine();
     engine.Assign(() => data._1_1).From(() => Add(data._0_1, data._0_2), e => {});
     engine.Assign(() => data._2_1).From(() => Add(data._1_1, data._1_2), e => {});
     engine.Assign(() => data._3_1).From(() => Add(data._2_1, data._2_2), e => {});
     engine.Assign(() => data._4_1).From(() => Add(data._3_1, data._3_2), e => {});
     engine.Assign(() => data._5_1).From(() => Add(data._4_1, data._4_2), e => {});
     engine.Assign(() => data._6_1).From(() => Add(data._5_1, data._5_2), e => {});
     engine.Assign(() => data._7_1).From(() => Add(data._6_1, data._6_2), e => {});
     engine.Assign(() => data._8_1).From(() => Add(data._7_1, data._7_2), e => {});
     engine.Assign(() => data._9_1).From(() => Add(data._8_1, data._8_2), e => {});
     engine.Assign(() => data._10_1).From(() => Add(data._9_1, data._9_2), e => {});
     engine.Assign(() => data._11_1).From(() => Add(data._10_1, data._10_2), e => {});
     engine.Assign(() => data._12_1).From(() => Add(data._11_1, data._11_2), e => {});
     engine.Assign(() => data._13_1).From(() => Add(data._12_1, data._12_2), e => {});
     engine.Assign(() => data._14_1).From(() => Add(data._13_1, data._13_2), e => {});
     engine.Assign(() => data._15_1).From(() => Add(data._14_1, data._14_2), e => {});
     engine.Assign(() => data._16_1).From(() => Add(data._15_1, data._15_2), e => {});
     engine.Assign(() => data._17_1).From(() => Add(data._16_1, data._16_2), e => {});
     engine.Assign(() => data._18_1).From(() => Add(data._17_1, data._17_2), e => {});
     engine.Assign(() => data._19_1).From(() => Add(data._18_1, data._18_2), e => {});
     engine.Assign(() => data._20_1).From(() => Add(data._19_1, data._19_2), e => {});
     engine.Assign(() => data._21_1).From(() => Add(data._20_1, data._20_2), e => {});
     engine.Assign(() => data._22_1).From(() => Add(data._21_1, data._21_2), e => {});
     engine.Assign(() => data._23_1).From(() => Add(data._22_1, data._22_2), e => {});
     engine.Assign(() => data._24_1).From(() => Add(data._23_1, data._23_2), e => {});
     engine.Assign(() => data._25_1).From(() => Add(data._24_1, data._24_2), e => {});
     engine.Assign(() => data._26_1).From(() => Add(data._25_1, data._25_2), e => {});
     engine.Assign(() => data._27_1).From(() => Add(data._26_1, data._26_2), e => {});
     engine.Assign(() => data._28_1).From(() => Add(data._27_1, data._27_2), e => {});
     engine.Assign(() => data._29_1).From(() => Add(data._28_1, data._28_2), e => {});
     engine.Assign(() => data._30_1).From(() => Add(data._29_1, data._29_2), e => {});
     engine.Assign(() => data._31_1).From(() => Add(data._30_1, data._30_2), e => {});
     engine.Assign(() => data._32_1).From(() => Add(data._31_1, data._31_2), e => {});
     engine.Assign(() => data._33_1).From(() => Add(data._32_1, data._32_2), e => {});
     engine.Assign(() => data._34_1).From(() => Add(data._33_1, data._33_2), e => {});
     engine.Assign(() => data._35_1).From(() => Add(data._34_1, data._34_2), e => {});
     engine.Assign(() => data._36_1).From(() => Add(data._35_1, data._35_2), e => {});
     engine.Assign(() => data._37_1).From(() => Add(data._36_1, data._36_2), e => {});
     engine.Assign(() => data._38_1).From(() => Add(data._37_1, data._37_2), e => {});
     engine.Assign(() => data._39_1).From(() => Add(data._38_1, data._38_2), e => {});
     engine.Assign(() => data._40_1).From(() => Add(data._39_1, data._39_2), e => {});
     engine.Assign(() => data._41_1).From(() => Add(data._40_1, data._40_2), e => {});
     engine.Assign(() => data._42_1).From(() => Add(data._41_1, data._41_2), e => {});
     engine.Assign(() => data._43_1).From(() => Add(data._42_1, data._42_2), e => {});
     engine.Assign(() => data._44_1).From(() => Add(data._43_1, data._43_2), e => {});
     engine.Assign(() => data._45_1).From(() => Add(data._44_1, data._44_2), e => {});
     engine.Assign(() => data._46_1).From(() => Add(data._45_1, data._45_2), e => {});
     engine.Assign(() => data._47_1).From(() => Add(data._46_1, data._46_2), e => {});
     engine.Assign(() => data._48_1).From(() => Add(data._47_1, data._47_2), e => {});
     engine.Assign(() => data._49_1).From(() => Add(data._48_1, data._48_2), e => {});
     engine.Assign(() => data._50_1).From(() => Add(data._49_1, data._49_2), e => {});
     engine.Assign(() => data._51_1).From(() => Add(data._50_1, data._50_2), e => {});
     engine.Assign(() => data._52_1).From(() => Add(data._51_1, data._51_2), e => {});
     engine.Assign(() => data._53_1).From(() => Add(data._52_1, data._52_2), e => {});
     engine.Assign(() => data._54_1).From(() => Add(data._53_1, data._53_2), e => {});
     engine.Assign(() => data._55_1).From(() => Add(data._54_1, data._54_2), e => {});
     engine.Assign(() => data._56_1).From(() => Add(data._55_1, data._55_2), e => {});
     engine.Assign(() => data._57_1).From(() => Add(data._56_1, data._56_2), e => {});
     engine.Assign(() => data._58_1).From(() => Add(data._57_1, data._57_2), e => {});
     engine.Assign(() => data._59_1).From(() => Add(data._58_1, data._58_2), e => {});
     engine.Assign(() => data._60_1).From(() => Add(data._59_1, data._59_2), e => {});
     engine.Assign(() => data._61_1).From(() => Add(data._60_1, data._60_2), e => {});
     engine.Assign(() => data._62_1).From(() => Add(data._61_1, data._61_2), e => {});
     engine.Assign(() => data._63_1).From(() => Add(data._62_1, data._62_2), e => {});
     engine.Assign(() => data._64_1).From(() => Add(data._63_1, data._63_2), e => {});
     engine.Assign(() => data._65_1).From(() => Add(data._64_1, data._64_2), e => {});
     engine.Assign(() => data._66_1).From(() => Add(data._65_1, data._65_2), e => {});
     engine.Assign(() => data._67_1).From(() => Add(data._66_1, data._66_2), e => {});
     engine.Assign(() => data._68_1).From(() => Add(data._67_1, data._67_2), e => {});
     engine.Assign(() => data._69_1).From(() => Add(data._68_1, data._68_2), e => {});
     engine.Assign(() => data._70_1).From(() => Add(data._69_1, data._69_2), e => {});
     engine.Assign(() => data._71_1).From(() => Add(data._70_1, data._70_2), e => {});
     engine.Assign(() => data._72_1).From(() => Add(data._71_1, data._71_2), e => {});
     engine.Assign(() => data._73_1).From(() => Add(data._72_1, data._72_2), e => {});
     engine.Assign(() => data._74_1).From(() => Add(data._73_1, data._73_2), e => {});
     engine.Assign(() => data._75_1).From(() => Add(data._74_1, data._74_2), e => {});
     engine.Assign(() => data._76_1).From(() => Add(data._75_1, data._75_2), e => {});
     engine.Assign(() => data._77_1).From(() => Add(data._76_1, data._76_2), e => {});
     engine.Assign(() => data._78_1).From(() => Add(data._77_1, data._77_2), e => {});
     engine.Assign(() => data._79_1).From(() => Add(data._78_1, data._78_2), e => {});
     engine.Assign(() => data._80_1).From(() => Add(data._79_1, data._79_2), e => {});
     engine.Assign(() => data._81_1).From(() => Add(data._80_1, data._80_2), e => {});
     engine.Assign(() => data._82_1).From(() => Add(data._81_1, data._81_2), e => {});
     engine.Assign(() => data._83_1).From(() => Add(data._82_1, data._82_2), e => {});
     engine.Assign(() => data._84_1).From(() => Add(data._83_1, data._83_2), e => {});
     engine.Assign(() => data._85_1).From(() => Add(data._84_1, data._84_2), e => {});
     engine.Assign(() => data._86_1).From(() => Add(data._85_1, data._85_2), e => {});
     engine.Assign(() => data._87_1).From(() => Add(data._86_1, data._86_2), e => {});
     engine.Assign(() => data._88_1).From(() => Add(data._87_1, data._87_2), e => {});
     engine.Assign(() => data._89_1).From(() => Add(data._88_1, data._88_2), e => {});
     engine.Assign(() => data._90_1).From(() => Add(data._89_1, data._89_2), e => {});
     engine.Assign(() => data._91_1).From(() => Add(data._90_1, data._90_2), e => {});
     engine.Assign(() => data._92_1).From(() => Add(data._91_1, data._91_2), e => {});
     engine.Assign(() => data._93_1).From(() => Add(data._92_1, data._92_2), e => {});
     engine.Assign(() => data._94_1).From(() => Add(data._93_1, data._93_2), e => {});
     engine.Assign(() => data._95_1).From(() => Add(data._94_1, data._94_2), e => {});
     engine.Assign(() => data._96_1).From(() => Add(data._95_1, data._95_2), e => {});
     engine.Assign(() => data._97_1).From(() => Add(data._96_1, data._96_2), e => {});
     engine.Assign(() => data._98_1).From(() => Add(data._97_1, data._97_2), e => {});
     engine.Assign(() => data._99_1).From(() => Add(data._98_1, data._98_2), e => {});
     engine.Assign(() => data._100_1).From(() => Add(data._99_1, data._99_2), e => {});
     engine.Assign(() => data._101_1).From(() => Add(data._100_1, data._100_2), e => {});
     engine.Assign(() => data._102_1).From(() => Add(data._101_1, data._101_2), e => {});
     engine.Assign(() => data._103_1).From(() => Add(data._102_1, data._102_2), e => {});
     engine.Assign(() => data._104_1).From(() => Add(data._103_1, data._103_2), e => {});
     engine.Assign(() => data._105_1).From(() => Add(data._104_1, data._104_2), e => {});
     engine.Assign(() => data._106_1).From(() => Add(data._105_1, data._105_2), e => {});
     engine.Assign(() => data._107_1).From(() => Add(data._106_1, data._106_2), e => {});
     engine.Assign(() => data._108_1).From(() => Add(data._107_1, data._107_2), e => {});
     engine.Assign(() => data._109_1).From(() => Add(data._108_1, data._108_2), e => {});
     engine.Assign(() => data._110_1).From(() => Add(data._109_1, data._109_2), e => {});
     engine.Assign(() => data._111_1).From(() => Add(data._110_1, data._110_2), e => {});
     engine.Assign(() => data._112_1).From(() => Add(data._111_1, data._111_2), e => {});
     engine.Assign(() => data._113_1).From(() => Add(data._112_1, data._112_2), e => {});
     engine.Assign(() => data._114_1).From(() => Add(data._113_1, data._113_2), e => {});
     engine.Assign(() => data._115_1).From(() => Add(data._114_1, data._114_2), e => {});
     engine.Assign(() => data._116_1).From(() => Add(data._115_1, data._115_2), e => {});
     engine.Assign(() => data._117_1).From(() => Add(data._116_1, data._116_2), e => {});
     engine.Assign(() => data._118_1).From(() => Add(data._117_1, data._117_2), e => {});
     engine.Assign(() => data._119_1).From(() => Add(data._118_1, data._118_2), e => {});
     engine.Assign(() => data._120_1).From(() => Add(data._119_1, data._119_2), e => {});
     engine.Assign(() => data._121_1).From(() => Add(data._120_1, data._120_2), e => {});
     engine.Assign(() => data._122_1).From(() => Add(data._121_1, data._121_2), e => {});
     engine.Assign(() => data._123_1).From(() => Add(data._122_1, data._122_2), e => {});
     engine.Assign(() => data._124_1).From(() => Add(data._123_1, data._123_2), e => {});
     engine.Assign(() => data._125_1).From(() => Add(data._124_1, data._124_2), e => {});
     engine.Assign(() => data._126_1).From(() => Add(data._125_1, data._125_2), e => {});
     engine.Assign(() => data._127_1).From(() => Add(data._126_1, data._126_2), e => {});
     engine.Assign(() => data._128_1).From(() => Add(data._127_1, data._127_2), e => {});
     engine.Assign(() => data._129_1).From(() => Add(data._128_1, data._128_2), e => {});
     engine.Assign(() => data._130_1).From(() => Add(data._129_1, data._129_2), e => {});
     engine.Assign(() => data._131_1).From(() => Add(data._130_1, data._130_2), e => {});
     engine.Assign(() => data._132_1).From(() => Add(data._131_1, data._131_2), e => {});
     engine.Assign(() => data._133_1).From(() => Add(data._132_1, data._132_2), e => {});
     engine.Assign(() => data._134_1).From(() => Add(data._133_1, data._133_2), e => {});
     engine.Assign(() => data._135_1).From(() => Add(data._134_1, data._134_2), e => {});
     engine.Assign(() => data._136_1).From(() => Add(data._135_1, data._135_2), e => {});
     engine.Assign(() => data._137_1).From(() => Add(data._136_1, data._136_2), e => {});
     engine.Assign(() => data._138_1).From(() => Add(data._137_1, data._137_2), e => {});
     engine.Assign(() => data._139_1).From(() => Add(data._138_1, data._138_2), e => {});
     engine.Assign(() => data._140_1).From(() => Add(data._139_1, data._139_2), e => {});
     engine.Assign(() => data._141_1).From(() => Add(data._140_1, data._140_2), e => {});
     engine.Assign(() => data._142_1).From(() => Add(data._141_1, data._141_2), e => {});
     engine.Assign(() => data._143_1).From(() => Add(data._142_1, data._142_2), e => {});
     engine.Assign(() => data._144_1).From(() => Add(data._143_1, data._143_2), e => {});
     engine.Assign(() => data._145_1).From(() => Add(data._144_1, data._144_2), e => {});
     engine.Assign(() => data._146_1).From(() => Add(data._145_1, data._145_2), e => {});
     engine.Assign(() => data._147_1).From(() => Add(data._146_1, data._146_2), e => {});
     engine.Assign(() => data._148_1).From(() => Add(data._147_1, data._147_2), e => {});
     engine.Assign(() => data._149_1).From(() => Add(data._148_1, data._148_2), e => {});
     engine.Assign(() => data._150_1).From(() => Add(data._149_1, data._149_2), e => {});
     engine.Assign(() => data._151_1).From(() => Add(data._150_1, data._150_2), e => {});
     engine.Assign(() => data._152_1).From(() => Add(data._151_1, data._151_2), e => {});
     engine.Assign(() => data._153_1).From(() => Add(data._152_1, data._152_2), e => {});
     engine.Assign(() => data._154_1).From(() => Add(data._153_1, data._153_2), e => {});
     engine.Assign(() => data._155_1).From(() => Add(data._154_1, data._154_2), e => {});
     engine.Assign(() => data._156_1).From(() => Add(data._155_1, data._155_2), e => {});
     engine.Assign(() => data._157_1).From(() => Add(data._156_1, data._156_2), e => {});
     engine.Assign(() => data._158_1).From(() => Add(data._157_1, data._157_2), e => {});
     engine.Assign(() => data._159_1).From(() => Add(data._158_1, data._158_2), e => {});
     engine.Assign(() => data._160_1).From(() => Add(data._159_1, data._159_2), e => {});
     engine.Assign(() => data._161_1).From(() => Add(data._160_1, data._160_2), e => {});
     engine.Assign(() => data._162_1).From(() => Add(data._161_1, data._161_2), e => {});
     engine.Assign(() => data._163_1).From(() => Add(data._162_1, data._162_2), e => {});
     engine.Assign(() => data._164_1).From(() => Add(data._163_1, data._163_2), e => {});
     engine.Assign(() => data._165_1).From(() => Add(data._164_1, data._164_2), e => {});
     engine.Assign(() => data._166_1).From(() => Add(data._165_1, data._165_2), e => {});
     engine.Assign(() => data._167_1).From(() => Add(data._166_1, data._166_2), e => {});
     engine.Assign(() => data._168_1).From(() => Add(data._167_1, data._167_2), e => {});
     engine.Assign(() => data._169_1).From(() => Add(data._168_1, data._168_2), e => {});
     engine.Assign(() => data._170_1).From(() => Add(data._169_1, data._169_2), e => {});
     engine.Assign(() => data._171_1).From(() => Add(data._170_1, data._170_2), e => {});
     engine.Assign(() => data._172_1).From(() => Add(data._171_1, data._171_2), e => {});
     engine.Assign(() => data._173_1).From(() => Add(data._172_1, data._172_2), e => {});
     engine.Assign(() => data._174_1).From(() => Add(data._173_1, data._173_2), e => {});
     engine.Assign(() => data._175_1).From(() => Add(data._174_1, data._174_2), e => {});
     engine.Assign(() => data._176_1).From(() => Add(data._175_1, data._175_2), e => {});
     engine.Assign(() => data._177_1).From(() => Add(data._176_1, data._176_2), e => {});
     engine.Assign(() => data._178_1).From(() => Add(data._177_1, data._177_2), e => {});
     engine.Assign(() => data._179_1).From(() => Add(data._178_1, data._178_2), e => {});
     engine.Assign(() => data._180_1).From(() => Add(data._179_1, data._179_2), e => {});
     engine.Assign(() => data._181_1).From(() => Add(data._180_1, data._180_2), e => {});
     engine.Assign(() => data._182_1).From(() => Add(data._181_1, data._181_2), e => {});
     engine.Assign(() => data._183_1).From(() => Add(data._182_1, data._182_2), e => {});
     engine.Assign(() => data._184_1).From(() => Add(data._183_1, data._183_2), e => {});
     engine.Assign(() => data._185_1).From(() => Add(data._184_1, data._184_2), e => {});
     engine.Assign(() => data._186_1).From(() => Add(data._185_1, data._185_2), e => {});
     engine.Assign(() => data._187_1).From(() => Add(data._186_1, data._186_2), e => {});
     engine.Assign(() => data._188_1).From(() => Add(data._187_1, data._187_2), e => {});
     engine.Assign(() => data._189_1).From(() => Add(data._188_1, data._188_2), e => {});
     engine.Assign(() => data._190_1).From(() => Add(data._189_1, data._189_2), e => {});
     engine.Assign(() => data._191_1).From(() => Add(data._190_1, data._190_2), e => {});
     engine.Assign(() => data._192_1).From(() => Add(data._191_1, data._191_2), e => {});
     engine.Assign(() => data._193_1).From(() => Add(data._192_1, data._192_2), e => {});
     engine.Assign(() => data._194_1).From(() => Add(data._193_1, data._193_2), e => {});
     engine.Assign(() => data._195_1).From(() => Add(data._194_1, data._194_2), e => {});
     engine.Assign(() => data._196_1).From(() => Add(data._195_1, data._195_2), e => {});
     engine.Assign(() => data._197_1).From(() => Add(data._196_1, data._196_2), e => {});
     engine.Assign(() => data._198_1).From(() => Add(data._197_1, data._197_2), e => {});
     engine.Assign(() => data._199_1).From(() => Add(data._198_1, data._198_2), e => {});
     engine.Assign(() => data._200_1).From(() => Add(data._199_1, data._199_2), e => {});
     engine.Assign(() => data._201_1).From(() => Add(data._200_1, data._200_2), e => {});
     engine.Assign(() => data._202_1).From(() => Add(data._201_1, data._201_2), e => {});
     engine.Assign(() => data._203_1).From(() => Add(data._202_1, data._202_2), e => {});
     engine.Assign(() => data._204_1).From(() => Add(data._203_1, data._203_2), e => {});
     engine.Assign(() => data._205_1).From(() => Add(data._204_1, data._204_2), e => {});
     engine.Assign(() => data._206_1).From(() => Add(data._205_1, data._205_2), e => {});
     engine.Assign(() => data._207_1).From(() => Add(data._206_1, data._206_2), e => {});
     engine.Assign(() => data._208_1).From(() => Add(data._207_1, data._207_2), e => {});
     engine.Assign(() => data._209_1).From(() => Add(data._208_1, data._208_2), e => {});
     engine.Assign(() => data._210_1).From(() => Add(data._209_1, data._209_2), e => {});
     engine.Assign(() => data._211_1).From(() => Add(data._210_1, data._210_2), e => {});
     engine.Assign(() => data._212_1).From(() => Add(data._211_1, data._211_2), e => {});
     engine.Assign(() => data._213_1).From(() => Add(data._212_1, data._212_2), e => {});
     engine.Assign(() => data._214_1).From(() => Add(data._213_1, data._213_2), e => {});
     engine.Assign(() => data._215_1).From(() => Add(data._214_1, data._214_2), e => {});
     engine.Assign(() => data._216_1).From(() => Add(data._215_1, data._215_2), e => {});
     engine.Assign(() => data._217_1).From(() => Add(data._216_1, data._216_2), e => {});
     engine.Assign(() => data._218_1).From(() => Add(data._217_1, data._217_2), e => {});
     engine.Assign(() => data._219_1).From(() => Add(data._218_1, data._218_2), e => {});
     engine.Assign(() => data._220_1).From(() => Add(data._219_1, data._219_2), e => {});
     engine.Assign(() => data._221_1).From(() => Add(data._220_1, data._220_2), e => {});
     engine.Assign(() => data._222_1).From(() => Add(data._221_1, data._221_2), e => {});
     engine.Assign(() => data._223_1).From(() => Add(data._222_1, data._222_2), e => {});
     engine.Assign(() => data._224_1).From(() => Add(data._223_1, data._223_2), e => {});
     engine.Assign(() => data._225_1).From(() => Add(data._224_1, data._224_2), e => {});
     engine.Assign(() => data._226_1).From(() => Add(data._225_1, data._225_2), e => {});
     engine.Assign(() => data._227_1).From(() => Add(data._226_1, data._226_2), e => {});
     engine.Assign(() => data._228_1).From(() => Add(data._227_1, data._227_2), e => {});
     engine.Assign(() => data._229_1).From(() => Add(data._228_1, data._228_2), e => {});
     engine.Assign(() => data._230_1).From(() => Add(data._229_1, data._229_2), e => {});
     engine.Assign(() => data._231_1).From(() => Add(data._230_1, data._230_2), e => {});
     engine.Assign(() => data._232_1).From(() => Add(data._231_1, data._231_2), e => {});
     engine.Assign(() => data._233_1).From(() => Add(data._232_1, data._232_2), e => {});
     engine.Assign(() => data._234_1).From(() => Add(data._233_1, data._233_2), e => {});
     engine.Assign(() => data._235_1).From(() => Add(data._234_1, data._234_2), e => {});
     engine.Assign(() => data._236_1).From(() => Add(data._235_1, data._235_2), e => {});
     engine.Assign(() => data._237_1).From(() => Add(data._236_1, data._236_2), e => {});
     engine.Assign(() => data._238_1).From(() => Add(data._237_1, data._237_2), e => {});
     engine.Assign(() => data._239_1).From(() => Add(data._238_1, data._238_2), e => {});
     engine.Assign(() => data._240_1).From(() => Add(data._239_1, data._239_2), e => {});
     engine.Assign(() => data._241_1).From(() => Add(data._240_1, data._240_2), e => {});
     engine.Assign(() => data._242_1).From(() => Add(data._241_1, data._241_2), e => {});
     engine.Assign(() => data._243_1).From(() => Add(data._242_1, data._242_2), e => {});
     engine.Assign(() => data._244_1).From(() => Add(data._243_1, data._243_2), e => {});
     engine.Assign(() => data._245_1).From(() => Add(data._244_1, data._244_2), e => {});
     engine.Assign(() => data._246_1).From(() => Add(data._245_1, data._245_2), e => {});
     engine.Assign(() => data._247_1).From(() => Add(data._246_1, data._246_2), e => {});
     engine.Assign(() => data._248_1).From(() => Add(data._247_1, data._247_2), e => {});
     engine.Assign(() => data._249_1).From(() => Add(data._248_1, data._248_2), e => {});
     engine.Assign(() => data._250_1).From(() => Add(data._249_1, data._249_2), e => {});
     engine.Assign(() => data._251_1).From(() => Add(data._250_1, data._250_2), e => {});
     engine.Assign(() => data._252_1).From(() => Add(data._251_1, data._251_2), e => {});
     engine.Assign(() => data._253_1).From(() => Add(data._252_1, data._252_2), e => {});
     engine.Assign(() => data._254_1).From(() => Add(data._253_1, data._253_2), e => {});
     engine.Assign(() => data._255_1).From(() => Add(data._254_1, data._254_2), e => {});
     engine.Assign(() => data._256_1).From(() => Add(data._255_1, data._255_2), e => {});
     engine.Assign(() => data._257_1).From(() => Add(data._256_1, data._256_2), e => {});
     engine.Assign(() => data._258_1).From(() => Add(data._257_1, data._257_2), e => {});
     engine.Assign(() => data._259_1).From(() => Add(data._258_1, data._258_2), e => {});
     engine.Assign(() => data._260_1).From(() => Add(data._259_1, data._259_2), e => {});
     engine.Assign(() => data._261_1).From(() => Add(data._260_1, data._260_2), e => {});
     engine.Assign(() => data._262_1).From(() => Add(data._261_1, data._261_2), e => {});
     engine.Assign(() => data._263_1).From(() => Add(data._262_1, data._262_2), e => {});
     engine.Assign(() => data._264_1).From(() => Add(data._263_1, data._263_2), e => {});
     engine.Assign(() => data._265_1).From(() => Add(data._264_1, data._264_2), e => {});
     engine.Assign(() => data._266_1).From(() => Add(data._265_1, data._265_2), e => {});
     engine.Assign(() => data._267_1).From(() => Add(data._266_1, data._266_2), e => {});
     engine.Assign(() => data._268_1).From(() => Add(data._267_1, data._267_2), e => {});
     engine.Assign(() => data._269_1).From(() => Add(data._268_1, data._268_2), e => {});
     engine.Assign(() => data._270_1).From(() => Add(data._269_1, data._269_2), e => {});
     engine.Assign(() => data._271_1).From(() => Add(data._270_1, data._270_2), e => {});
     engine.Assign(() => data._272_1).From(() => Add(data._271_1, data._271_2), e => {});
     engine.Assign(() => data._273_1).From(() => Add(data._272_1, data._272_2), e => {});
     engine.Assign(() => data._274_1).From(() => Add(data._273_1, data._273_2), e => {});
     engine.Assign(() => data._275_1).From(() => Add(data._274_1, data._274_2), e => {});
     engine.Assign(() => data._276_1).From(() => Add(data._275_1, data._275_2), e => {});
     engine.Assign(() => data._277_1).From(() => Add(data._276_1, data._276_2), e => {});
     engine.Assign(() => data._278_1).From(() => Add(data._277_1, data._277_2), e => {});
     engine.Assign(() => data._279_1).From(() => Add(data._278_1, data._278_2), e => {});
     engine.Assign(() => data._280_1).From(() => Add(data._279_1, data._279_2), e => {});
     engine.Assign(() => data._281_1).From(() => Add(data._280_1, data._280_2), e => {});
     engine.Assign(() => data._282_1).From(() => Add(data._281_1, data._281_2), e => {});
     engine.Assign(() => data._283_1).From(() => Add(data._282_1, data._282_2), e => {});
     engine.Assign(() => data._284_1).From(() => Add(data._283_1, data._283_2), e => {});
     engine.Assign(() => data._285_1).From(() => Add(data._284_1, data._284_2), e => {});
     engine.Assign(() => data._286_1).From(() => Add(data._285_1, data._285_2), e => {});
     engine.Assign(() => data._287_1).From(() => Add(data._286_1, data._286_2), e => {});
     engine.Assign(() => data._288_1).From(() => Add(data._287_1, data._287_2), e => {});
     engine.Assign(() => data._289_1).From(() => Add(data._288_1, data._288_2), e => {});
     engine.Assign(() => data._290_1).From(() => Add(data._289_1, data._289_2), e => {});
     engine.Assign(() => data._291_1).From(() => Add(data._290_1, data._290_2), e => {});
     engine.Assign(() => data._292_1).From(() => Add(data._291_1, data._291_2), e => {});
     engine.Assign(() => data._293_1).From(() => Add(data._292_1, data._292_2), e => {});
     engine.Assign(() => data._294_1).From(() => Add(data._293_1, data._293_2), e => {});
     engine.Assign(() => data._295_1).From(() => Add(data._294_1, data._294_2), e => {});
     engine.Assign(() => data._296_1).From(() => Add(data._295_1, data._295_2), e => {});
     engine.Assign(() => data._297_1).From(() => Add(data._296_1, data._296_2), e => {});
     engine.Assign(() => data._298_1).From(() => Add(data._297_1, data._297_2), e => {});
     engine.Assign(() => data._299_1).From(() => Add(data._298_1, data._298_2), e => {});
     engine.Assign(() => data._300_1).From(() => Add(data._299_1, data._299_2), e => {});
     engine.Assign(() => data._301_1).From(() => Add(data._300_1, data._300_2), e => {});
     engine.Assign(() => data._302_1).From(() => Add(data._301_1, data._301_2), e => {});
     engine.Assign(() => data._303_1).From(() => Add(data._302_1, data._302_2), e => {});
     engine.Assign(() => data._304_1).From(() => Add(data._303_1, data._303_2), e => {});
     engine.Assign(() => data._305_1).From(() => Add(data._304_1, data._304_2), e => {});
     engine.Assign(() => data._306_1).From(() => Add(data._305_1, data._305_2), e => {});
     engine.Assign(() => data._307_1).From(() => Add(data._306_1, data._306_2), e => {});
     engine.Assign(() => data._308_1).From(() => Add(data._307_1, data._307_2), e => {});
     engine.Assign(() => data._309_1).From(() => Add(data._308_1, data._308_2), e => {});
     engine.Assign(() => data._310_1).From(() => Add(data._309_1, data._309_2), e => {});
     engine.Assign(() => data._311_1).From(() => Add(data._310_1, data._310_2), e => {});
     engine.Assign(() => data._312_1).From(() => Add(data._311_1, data._311_2), e => {});
     engine.Assign(() => data._313_1).From(() => Add(data._312_1, data._312_2), e => {});
     engine.Assign(() => data._314_1).From(() => Add(data._313_1, data._313_2), e => {});
     engine.Assign(() => data._315_1).From(() => Add(data._314_1, data._314_2), e => {});
     engine.Assign(() => data._316_1).From(() => Add(data._315_1, data._315_2), e => {});
     engine.Assign(() => data._317_1).From(() => Add(data._316_1, data._316_2), e => {});
     engine.Assign(() => data._318_1).From(() => Add(data._317_1, data._317_2), e => {});
     engine.Assign(() => data._319_1).From(() => Add(data._318_1, data._318_2), e => {});
     engine.Assign(() => data._320_1).From(() => Add(data._319_1, data._319_2), e => {});
     engine.Assign(() => data._321_1).From(() => Add(data._320_1, data._320_2), e => {});
     engine.Assign(() => data._322_1).From(() => Add(data._321_1, data._321_2), e => {});
     engine.Assign(() => data._323_1).From(() => Add(data._322_1, data._322_2), e => {});
     engine.Assign(() => data._324_1).From(() => Add(data._323_1, data._323_2), e => {});
     engine.Assign(() => data._325_1).From(() => Add(data._324_1, data._324_2), e => {});
     engine.Assign(() => data._326_1).From(() => Add(data._325_1, data._325_2), e => {});
     engine.Assign(() => data._327_1).From(() => Add(data._326_1, data._326_2), e => {});
     engine.Assign(() => data._328_1).From(() => Add(data._327_1, data._327_2), e => {});
     engine.Assign(() => data._329_1).From(() => Add(data._328_1, data._328_2), e => {});
     engine.Assign(() => data._330_1).From(() => Add(data._329_1, data._329_2), e => {});
     engine.Assign(() => data._331_1).From(() => Add(data._330_1, data._330_2), e => {});
     engine.Assign(() => data._332_1).From(() => Add(data._331_1, data._331_2), e => {});
     engine.Assign(() => data._333_1).From(() => Add(data._332_1, data._332_2), e => {});
     engine.Assign(() => data._334_1).From(() => Add(data._333_1, data._333_2), e => {});
     engine.Assign(() => data._335_1).From(() => Add(data._334_1, data._334_2), e => {});
     engine.Assign(() => data._336_1).From(() => Add(data._335_1, data._335_2), e => {});
     engine.Assign(() => data._337_1).From(() => Add(data._336_1, data._336_2), e => {});
     engine.Assign(() => data._338_1).From(() => Add(data._337_1, data._337_2), e => {});
     engine.Assign(() => data._339_1).From(() => Add(data._338_1, data._338_2), e => {});
     engine.Assign(() => data._340_1).From(() => Add(data._339_1, data._339_2), e => {});
     engine.Assign(() => data._341_1).From(() => Add(data._340_1, data._340_2), e => {});
     engine.Assign(() => data._342_1).From(() => Add(data._341_1, data._341_2), e => {});
     engine.Assign(() => data._343_1).From(() => Add(data._342_1, data._342_2), e => {});
     engine.Assign(() => data._344_1).From(() => Add(data._343_1, data._343_2), e => {});
     engine.Assign(() => data._345_1).From(() => Add(data._344_1, data._344_2), e => {});
     engine.Assign(() => data._346_1).From(() => Add(data._345_1, data._345_2), e => {});
     engine.Assign(() => data._347_1).From(() => Add(data._346_1, data._346_2), e => {});
     engine.Assign(() => data._348_1).From(() => Add(data._347_1, data._347_2), e => {});
     engine.Assign(() => data._349_1).From(() => Add(data._348_1, data._348_2), e => {});
     engine.Assign(() => data._350_1).From(() => Add(data._349_1, data._349_2), e => {});
     engine.Assign(() => data._351_1).From(() => Add(data._350_1, data._350_2), e => {});
     engine.Assign(() => data._352_1).From(() => Add(data._351_1, data._351_2), e => {});
     engine.Assign(() => data._353_1).From(() => Add(data._352_1, data._352_2), e => {});
     engine.Assign(() => data._354_1).From(() => Add(data._353_1, data._353_2), e => {});
     engine.Assign(() => data._355_1).From(() => Add(data._354_1, data._354_2), e => {});
     engine.Assign(() => data._356_1).From(() => Add(data._355_1, data._355_2), e => {});
     engine.Assign(() => data._357_1).From(() => Add(data._356_1, data._356_2), e => {});
     engine.Assign(() => data._358_1).From(() => Add(data._357_1, data._357_2), e => {});
     engine.Assign(() => data._359_1).From(() => Add(data._358_1, data._358_2), e => {});
     engine.Assign(() => data._360_1).From(() => Add(data._359_1, data._359_2), e => {});
     engine.Assign(() => data._361_1).From(() => Add(data._360_1, data._360_2), e => {});
     engine.Assign(() => data._362_1).From(() => Add(data._361_1, data._361_2), e => {});
     engine.Assign(() => data._363_1).From(() => Add(data._362_1, data._362_2), e => {});
     engine.Assign(() => data._364_1).From(() => Add(data._363_1, data._363_2), e => {});
     engine.Assign(() => data._365_1).From(() => Add(data._364_1, data._364_2), e => {});
     engine.Assign(() => data._366_1).From(() => Add(data._365_1, data._365_2), e => {});
     engine.Assign(() => data._367_1).From(() => Add(data._366_1, data._366_2), e => {});
     engine.Assign(() => data._368_1).From(() => Add(data._367_1, data._367_2), e => {});
     engine.Assign(() => data._369_1).From(() => Add(data._368_1, data._368_2), e => {});
     engine.Assign(() => data._370_1).From(() => Add(data._369_1, data._369_2), e => {});
     engine.Assign(() => data._371_1).From(() => Add(data._370_1, data._370_2), e => {});
     engine.Assign(() => data._372_1).From(() => Add(data._371_1, data._371_2), e => {});
     engine.Assign(() => data._373_1).From(() => Add(data._372_1, data._372_2), e => {});
     engine.Assign(() => data._374_1).From(() => Add(data._373_1, data._373_2), e => {});
     engine.Assign(() => data._375_1).From(() => Add(data._374_1, data._374_2), e => {});
     engine.Assign(() => data._376_1).From(() => Add(data._375_1, data._375_2), e => {});
     engine.Assign(() => data._377_1).From(() => Add(data._376_1, data._376_2), e => {});
     engine.Assign(() => data._378_1).From(() => Add(data._377_1, data._377_2), e => {});
     engine.Assign(() => data._379_1).From(() => Add(data._378_1, data._378_2), e => {});
     engine.Assign(() => data._380_1).From(() => Add(data._379_1, data._379_2), e => {});
     engine.Assign(() => data._381_1).From(() => Add(data._380_1, data._380_2), e => {});
     engine.Assign(() => data._382_1).From(() => Add(data._381_1, data._381_2), e => {});
     engine.Assign(() => data._383_1).From(() => Add(data._382_1, data._382_2), e => {});
     engine.Assign(() => data._384_1).From(() => Add(data._383_1, data._383_2), e => {});
     engine.Assign(() => data._385_1).From(() => Add(data._384_1, data._384_2), e => {});
     engine.Assign(() => data._386_1).From(() => Add(data._385_1, data._385_2), e => {});
     engine.Assign(() => data._387_1).From(() => Add(data._386_1, data._386_2), e => {});
     engine.Assign(() => data._388_1).From(() => Add(data._387_1, data._387_2), e => {});
     engine.Assign(() => data._389_1).From(() => Add(data._388_1, data._388_2), e => {});
     engine.Assign(() => data._390_1).From(() => Add(data._389_1, data._389_2), e => {});
     engine.Assign(() => data._391_1).From(() => Add(data._390_1, data._390_2), e => {});
     engine.Assign(() => data._392_1).From(() => Add(data._391_1, data._391_2), e => {});
     engine.Assign(() => data._393_1).From(() => Add(data._392_1, data._392_2), e => {});
     engine.Assign(() => data._394_1).From(() => Add(data._393_1, data._393_2), e => {});
     engine.Assign(() => data._395_1).From(() => Add(data._394_1, data._394_2), e => {});
     engine.Assign(() => data._396_1).From(() => Add(data._395_1, data._395_2), e => {});
     engine.Assign(() => data._397_1).From(() => Add(data._396_1, data._396_2), e => {});
     engine.Assign(() => data._398_1).From(() => Add(data._397_1, data._397_2), e => {});
     engine.Assign(() => data._399_1).From(() => Add(data._398_1, data._398_2), e => {});
     engine.Assign(() => data._400_1).From(() => Add(data._399_1, data._399_2), e => {});
     engine.Assign(() => data._401_1).From(() => Add(data._400_1, data._400_2), e => {});
     engine.Assign(() => data._402_1).From(() => Add(data._401_1, data._401_2), e => {});
     engine.Assign(() => data._403_1).From(() => Add(data._402_1, data._402_2), e => {});
     engine.Assign(() => data._404_1).From(() => Add(data._403_1, data._403_2), e => {});
     engine.Assign(() => data._405_1).From(() => Add(data._404_1, data._404_2), e => {});
     engine.Assign(() => data._406_1).From(() => Add(data._405_1, data._405_2), e => {});
     engine.Assign(() => data._407_1).From(() => Add(data._406_1, data._406_2), e => {});
     engine.Assign(() => data._408_1).From(() => Add(data._407_1, data._407_2), e => {});
     engine.Assign(() => data._409_1).From(() => Add(data._408_1, data._408_2), e => {});
     engine.Assign(() => data._410_1).From(() => Add(data._409_1, data._409_2), e => {});
     engine.Assign(() => data._411_1).From(() => Add(data._410_1, data._410_2), e => {});
     engine.Assign(() => data._412_1).From(() => Add(data._411_1, data._411_2), e => {});
     engine.Assign(() => data._413_1).From(() => Add(data._412_1, data._412_2), e => {});
     engine.Assign(() => data._414_1).From(() => Add(data._413_1, data._413_2), e => {});
     engine.Assign(() => data._415_1).From(() => Add(data._414_1, data._414_2), e => {});
     engine.Assign(() => data._416_1).From(() => Add(data._415_1, data._415_2), e => {});
     engine.Assign(() => data._417_1).From(() => Add(data._416_1, data._416_2), e => {});
     engine.Assign(() => data._418_1).From(() => Add(data._417_1, data._417_2), e => {});
     engine.Assign(() => data._419_1).From(() => Add(data._418_1, data._418_2), e => {});
     engine.Assign(() => data._420_1).From(() => Add(data._419_1, data._419_2), e => {});
     engine.Assign(() => data._421_1).From(() => Add(data._420_1, data._420_2), e => {});
     engine.Assign(() => data._422_1).From(() => Add(data._421_1, data._421_2), e => {});
     engine.Assign(() => data._423_1).From(() => Add(data._422_1, data._422_2), e => {});
     engine.Assign(() => data._424_1).From(() => Add(data._423_1, data._423_2), e => {});
     engine.Assign(() => data._425_1).From(() => Add(data._424_1, data._424_2), e => {});
     engine.Assign(() => data._426_1).From(() => Add(data._425_1, data._425_2), e => {});
     engine.Assign(() => data._427_1).From(() => Add(data._426_1, data._426_2), e => {});
     engine.Assign(() => data._428_1).From(() => Add(data._427_1, data._427_2), e => {});
     engine.Assign(() => data._429_1).From(() => Add(data._428_1, data._428_2), e => {});
     engine.Assign(() => data._430_1).From(() => Add(data._429_1, data._429_2), e => {});
     engine.Assign(() => data._431_1).From(() => Add(data._430_1, data._430_2), e => {});
     engine.Assign(() => data._432_1).From(() => Add(data._431_1, data._431_2), e => {});
     engine.Assign(() => data._433_1).From(() => Add(data._432_1, data._432_2), e => {});
     engine.Assign(() => data._434_1).From(() => Add(data._433_1, data._433_2), e => {});
     engine.Assign(() => data._435_1).From(() => Add(data._434_1, data._434_2), e => {});
     engine.Assign(() => data._436_1).From(() => Add(data._435_1, data._435_2), e => {});
     engine.Assign(() => data._437_1).From(() => Add(data._436_1, data._436_2), e => {});
     engine.Assign(() => data._438_1).From(() => Add(data._437_1, data._437_2), e => {});
     engine.Assign(() => data._439_1).From(() => Add(data._438_1, data._438_2), e => {});
     engine.Assign(() => data._440_1).From(() => Add(data._439_1, data._439_2), e => {});
     engine.Assign(() => data._441_1).From(() => Add(data._440_1, data._440_2), e => {});
     engine.Assign(() => data._442_1).From(() => Add(data._441_1, data._441_2), e => {});
     engine.Assign(() => data._443_1).From(() => Add(data._442_1, data._442_2), e => {});
     engine.Assign(() => data._444_1).From(() => Add(data._443_1, data._443_2), e => {});
     engine.Assign(() => data._445_1).From(() => Add(data._444_1, data._444_2), e => {});
     engine.Assign(() => data._446_1).From(() => Add(data._445_1, data._445_2), e => {});
     engine.Assign(() => data._447_1).From(() => Add(data._446_1, data._446_2), e => {});
     engine.Assign(() => data._448_1).From(() => Add(data._447_1, data._447_2), e => {});
     engine.Assign(() => data._449_1).From(() => Add(data._448_1, data._448_2), e => {});
     engine.Assign(() => data._450_1).From(() => Add(data._449_1, data._449_2), e => {});
     engine.Assign(() => data._451_1).From(() => Add(data._450_1, data._450_2), e => {});
     engine.Assign(() => data._452_1).From(() => Add(data._451_1, data._451_2), e => {});
     engine.Assign(() => data._453_1).From(() => Add(data._452_1, data._452_2), e => {});
     engine.Assign(() => data._454_1).From(() => Add(data._453_1, data._453_2), e => {});
     engine.Assign(() => data._455_1).From(() => Add(data._454_1, data._454_2), e => {});
     engine.Assign(() => data._456_1).From(() => Add(data._455_1, data._455_2), e => {});
     engine.Assign(() => data._457_1).From(() => Add(data._456_1, data._456_2), e => {});
     engine.Assign(() => data._458_1).From(() => Add(data._457_1, data._457_2), e => {});
     engine.Assign(() => data._459_1).From(() => Add(data._458_1, data._458_2), e => {});
     engine.Assign(() => data._460_1).From(() => Add(data._459_1, data._459_2), e => {});
     engine.Assign(() => data._461_1).From(() => Add(data._460_1, data._460_2), e => {});
     engine.Assign(() => data._462_1).From(() => Add(data._461_1, data._461_2), e => {});
     engine.Assign(() => data._463_1).From(() => Add(data._462_1, data._462_2), e => {});
     engine.Assign(() => data._464_1).From(() => Add(data._463_1, data._463_2), e => {});
     engine.Assign(() => data._465_1).From(() => Add(data._464_1, data._464_2), e => {});
     engine.Assign(() => data._466_1).From(() => Add(data._465_1, data._465_2), e => {});
     engine.Assign(() => data._467_1).From(() => Add(data._466_1, data._466_2), e => {});
     engine.Assign(() => data._468_1).From(() => Add(data._467_1, data._467_2), e => {});
     engine.Assign(() => data._469_1).From(() => Add(data._468_1, data._468_2), e => {});
     engine.Assign(() => data._470_1).From(() => Add(data._469_1, data._469_2), e => {});
     engine.Assign(() => data._471_1).From(() => Add(data._470_1, data._470_2), e => {});
     engine.Assign(() => data._472_1).From(() => Add(data._471_1, data._471_2), e => {});
     engine.Assign(() => data._473_1).From(() => Add(data._472_1, data._472_2), e => {});
     engine.Assign(() => data._474_1).From(() => Add(data._473_1, data._473_2), e => {});
     engine.Assign(() => data._475_1).From(() => Add(data._474_1, data._474_2), e => {});
     engine.Assign(() => data._476_1).From(() => Add(data._475_1, data._475_2), e => {});
     engine.Assign(() => data._477_1).From(() => Add(data._476_1, data._476_2), e => {});
     engine.Assign(() => data._478_1).From(() => Add(data._477_1, data._477_2), e => {});
     engine.Assign(() => data._479_1).From(() => Add(data._478_1, data._478_2), e => {});
     engine.Assign(() => data._480_1).From(() => Add(data._479_1, data._479_2), e => {});
     engine.Assign(() => data._481_1).From(() => Add(data._480_1, data._480_2), e => {});
     engine.Assign(() => data._482_1).From(() => Add(data._481_1, data._481_2), e => {});
     engine.Assign(() => data._483_1).From(() => Add(data._482_1, data._482_2), e => {});
     engine.Assign(() => data._484_1).From(() => Add(data._483_1, data._483_2), e => {});
     engine.Assign(() => data._485_1).From(() => Add(data._484_1, data._484_2), e => {});
     engine.Assign(() => data._486_1).From(() => Add(data._485_1, data._485_2), e => {});
     engine.Assign(() => data._487_1).From(() => Add(data._486_1, data._486_2), e => {});
     engine.Assign(() => data._488_1).From(() => Add(data._487_1, data._487_2), e => {});
     engine.Assign(() => data._489_1).From(() => Add(data._488_1, data._488_2), e => {});
     engine.Assign(() => data._490_1).From(() => Add(data._489_1, data._489_2), e => {});
     engine.Assign(() => data._491_1).From(() => Add(data._490_1, data._490_2), e => {});
     engine.Assign(() => data._492_1).From(() => Add(data._491_1, data._491_2), e => {});
     engine.Assign(() => data._493_1).From(() => Add(data._492_1, data._492_2), e => {});
     engine.Assign(() => data._494_1).From(() => Add(data._493_1, data._493_2), e => {});
     engine.Assign(() => data._495_1).From(() => Add(data._494_1, data._494_2), e => {});
     engine.Assign(() => data._496_1).From(() => Add(data._495_1, data._495_2), e => {});
     engine.Assign(() => data._497_1).From(() => Add(data._496_1, data._496_2), e => {});
     engine.Assign(() => data._498_1).From(() => Add(data._497_1, data._497_2), e => {});
     engine.Assign(() => data._499_1).From(() => Add(data._498_1, data._498_2), e => {});
 }
Esempio n. 25
0
 public VisualisationTests()
 {
     engine = new DependencyEngine();
 }
Esempio n. 26
0
 public ActionTarget()
 {
     engine = new DependencyEngine();
 }
Esempio n. 27
0
 public ApiTest()
 {
     engine       = new DependencyEngine();
     SomeProperty = false;
     count        = 0;
 }
Esempio n. 28
0
 public VisualisationTests()
 {
     engine = new DependencyEngine();
 }
 public NotifyPropertyChangedTests()
 {
     engineInstrumentation = new TestInstrumentation();
     engine = new DependencyEngine();
     engine.AddInstrumentation(engineInstrumentation);
 }
Esempio n. 30
0
        public void CheckCyclesShouldThrowWhenThereIsACycle()
        {
            engine = new DependencyEngine();
            var a = new SinglePropertyType();
            var b = new SinglePropertyType();

            engine.Assign(() => b.Value).From(() => a.Value * 2, ex => { });
            engine.Assign(() => a.Value).From(() => b.Value - 2, ex => { });

            var dot = engine.ToDotFormat("Title");

            Should.Throw<CycleDetectedException>(() => engine.CheckCycles())
                  .Message.ShouldBe(@"1 cycles found:
            a.Value --> (a.Value * 2) --> b.Value --> (b.Value - 2) --> a.Value");
        }
Esempio n. 31
0
        public void CheckCyclesShouldNotThrowWhenNoCycleExists()
        {
            engine = new DependencyEngine();
            var a = new SinglePropertyType();
            var b = new SinglePropertyType();

            engine.Assign(() => b.Value).From(() => a.Value * 2, ex => { });

            Should.NotThrow(() => engine.CheckCycles());
        }
Esempio n. 32
0
 public NodeRepository(DependencyEngine engine)
 {
     this.engine = engine;
     nodeLookup = new Dictionary<object, INodeInfo>();
 }