예제 #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);
        }
예제 #2
0
 private void AddTransformables()
 {
     _sut.AddTransformable(_stat, _selectors[0], _transformableMocks[0].Object);
     _sut.AddTransformable(_stat, _selectors[1], _transformableMocks[1].Object);
     _sut.AddTransformable(_stat, _selectors[2], _transformableMocks[2].Object);
 }