public void GetPathReturnsInjectedPathsDefaultView() { var expected = Mock.Of <IObservableCollection <PathDefinition> >(); var stat = Mock.Of <IStat>(); var graphCollection = Mock.Of <IStatGraphCollection>( c => c.GetOrAdd(stat).Paths.DefaultView == expected); var sut = new DefaultViewNodeRepository(graphCollection); var actual = sut.GetPaths(stat); Assert.AreSame(actual, expected); }
public void GetNodeReturnsInjectedGetNodesDefaultView() { var expected = Mock.Of <ICalculationNode>(); var stat = Mock.Of <IStat>(); var path = PathDefinition.MainPath; var graphCollection = Mock.Of <IStatGraphCollection>( c => c.GetOrAdd(stat).GetNode(new NodeSelector(NodeType.Base, path)).DefaultView == expected); var sut = new DefaultViewNodeRepository(graphCollection); var actual = sut.GetNode(stat, NodeType.Base, path); Assert.AreSame(expected, actual); }
public void GetFormNodeCollectionReturnsInjectedGetFormNodeCollectionsDefaultView() { var expected = Mock.Of <INodeCollection <Modifier> >(); var stat = Mock.Of <IStat>(); var path = PathDefinition.MainPath; var graphCollection = Mock.Of <IStatGraphCollection>( c => c.GetOrAdd(stat).GetFormNodeCollection(new FormNodeSelector(Form.BaseAdd, path)).DefaultView == expected); var sut = new DefaultViewNodeRepository(graphCollection); var actual = sut.GetFormNodeCollection(stat, Form.BaseAdd, path); Assert.AreSame(expected, actual); }
/// <summary> /// Creates an <see cref="ICalculator"/>. /// </summary> public static ICalculator Create() { var eventBuffer = new EventBuffer(); var innerNodeFactory = new NodeFactory(eventBuffer); var nodeFactory = new TransformableNodeFactory(innerNodeFactory, v => new TransformableValue(v)); var statRegistryCollection = new NodeCollection <IStat>(eventBuffer); var statRegistry = new StatRegistry(statRegistryCollection); var valueTransformer = new ValueTransformer(); var(graph, pruner) = CreateCalculationGraph(nodeFactory, statRegistry, valueTransformer, eventBuffer); var defaultView = new DefaultViewNodeRepository(graph); var bufferingView = new BufferingViewNodeRepository(graph); innerNodeFactory.NodeRepository = defaultView; statRegistry.NodeRepository = bufferingView; return(new Calculator(eventBuffer, graph, pruner, bufferingView, statRegistryCollection)); }
/// <summary> /// Creates an <see cref="ICalculator"/>. /// </summary> public static ICalculator CreateCalculator() { var innerNodeFactory = new NodeFactory(); var nodeFactory = new TransformableNodeFactory(innerNodeFactory, v => new TransformableValue(v)); var statRegistryCollection = new NodeCollection <IStat>(); var statRegistry = new StatRegistry(statRegistryCollection); var valueTransformer = new ValueTransformer(); var prunableGraph = CreateCalculationGraph(nodeFactory, statRegistry, valueTransformer); var defaultView = new DefaultViewNodeRepository(prunableGraph); var suspendableView = new SuspendableViewNodeRepository(prunableGraph); innerNodeFactory.NodeRepository = defaultView; statRegistry.NodeRepository = suspendableView; var suspender = new SuspendableEventsComposite(); suspender.Add(new StatGraphCollectionSuspender(prunableGraph)); suspender.Add(statRegistryCollection); return(new Calculator(suspender, prunableGraph, prunableGraph, suspendableView, statRegistryCollection)); }