Esempio n. 1
0
        private static IStatGraph CreateStatGraph(
            TransformableNodeFactory nodeFactory, ValueTransformer valueTransformer, IStat stat)
        {
            var paths = new PathDefinitionCollection(SuspendableEventViewProvider.Create(
                                                         new ObservableCollection <PathDefinition>(), new SuspendableObservableCollection <PathDefinition>()));
            var coreGraph = new CoreStatGraph(new StatNodeFactory(nodeFactory, stat), paths);

            return(new StatGraphWithEvents(coreGraph, NodeAdded, NodeRemoved));

            void NodeAdded(NodeSelector selector)
            {
                var node          = coreGraph.Nodes[selector];
                var transformable = nodeFactory.TransformableDictionary[node];

                valueTransformer.AddTransformable(stat, selector, transformable);
            }

            void NodeRemoved(NodeSelector selector) => valueTransformer.RemoveTransformable(stat, selector);
        }
Esempio n. 2
0
 public CoreStatGraph(IStatNodeFactory nodeFactory, PathDefinitionCollection paths)
 {
     _nodeFactory = nodeFactory;
     _paths       = paths;
 }
Esempio n. 3
0
 private static CoreStatGraph CreateSut(
     IStatNodeFactory nodeFactory = null, PathDefinitionCollection paths = null) =>
 new CoreStatGraph(nodeFactory ?? Mock.Of <IStatNodeFactory>(), paths ?? CreatePathDefinitionCollection());