private static TransformableNodeFactory CreateSut( TransformableValue transformableValue = null, IDisposableNodeViewProvider provider = null) { transformableValue = transformableValue ?? new TransformableValue(null); var injectedFactory = Mock.Of <INodeFactory>(f => f.Create(transformableValue) == provider); return(new TransformableNodeFactory(injectedFactory, _ => transformableValue)); }
public void CreateAddsToTransformableDictionary() { var key = Mock.Of <IDisposableNodeViewProvider>(); var transformableValue = new TransformableValue(null); var sut = CreateSut(transformableValue, key); sut.Create(null); Assert.IsTrue(sut.TransformableDictionary.ContainsKey(key)); Assert.AreSame(transformableValue, sut.TransformableDictionary[key]); }
public void RaisingTransformableValuesValueChangedCallsProvidersRaiseValueChanged() { var transformableValue = new TransformableValue(null); var providerMock = new Mock <IDisposableNodeViewProvider>(); var sut = CreateSut(transformableValue, providerMock.Object); sut.Create(null); transformableValue.RemoveAll(); providerMock.Verify(p => p.RaiseValueChanged()); }
public void RaisingTransformableValuesValueChangedDoesNotCallProvidersRaiseValueChangedAfterDisposal() { var transformableValue = new TransformableValue(null); var providerMock = new Mock <IDisposableNodeViewProvider>(); var sut = CreateSut(transformableValue, providerMock.Object); sut.Create(null); providerMock.Raise(p => p.Disposed += null, EventArgs.Empty); transformableValue.RemoveAll(); providerMock.Verify(p => p.RaiseValueChanged(), Times.Never); }