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); }
public CoreStatGraph(IStatNodeFactory nodeFactory, PathDefinitionCollection paths) { _nodeFactory = nodeFactory; _paths = paths; }
private static CoreStatGraph CreateSut( IStatNodeFactory nodeFactory = null, PathDefinitionCollection paths = null) => new CoreStatGraph(nodeFactory ?? Mock.Of <IStatNodeFactory>(), paths ?? CreatePathDefinitionCollection());