[Test] public void NewProxyReturnsNewInstance() { var handler1 = MockRepository.GenerateStub <PropertyChangedEventHandler>(); var handler2 = MockRepository.GenerateStub <PropertyChangedEventHandler>(); var bar = MockRepository.GenerateStub <IBar>(); var barProxy1 = NotifyPropertyChangeFactory.NewProxy(bar); var barProxy2 = NotifyPropertyChangeFactory.NewProxy(bar); Assert.That(barProxy2, Is.Not.SameAs(barProxy1)); ((INotifyPropertyChanged)barProxy1).PropertyChanged += handler1; ((INotifyPropertyChanged)barProxy2).PropertyChanged += handler2; barProxy1.LongProperty = 100; handler1.AssertWasCalled(x => x(Arg <object> .Is.Same(barProxy1), Arg <PropertyChangedEventArgs> .Matches(e => e.PropertyName == "LongProperty"))); handler2.AssertWasNotCalled(x => x(Arg <object> .Is.Same(barProxy2), Arg <PropertyChangedEventArgs> .Matches(e => e.PropertyName == "LongProperty"))); }
[Test] public void NewProxyGetsNullOnNullTarget() { Assert.That(NotifyPropertyChangeFactory.NewProxy((IFoo)null), Is.Null); }