public void Value_ShouldCallMethodsInCorrectOrder(
			IFixture fixture,
			object value,
			object oldValue)
		{
			//arrange
			var property = new Mock<IObservableProperty<object>>();
			property.SetupGet(p => p.Value).Returns(oldValue);
			var action = new Mock<Action<object, object>>();
			var sut = new ObservablePropertyAfterSetterInterceptor<object>(property.Object, action.Object);
			var actual = new List<object>();
			action.Setup(a => a(oldValue, value)).Callback<object, object>((o, o1) => actual.Add(new Tuple<object, object>(o, o1)));
			property.SetupSet(o => o.Value).Callback(o => actual.Add(o));
			//act
			sut.Value = value;

			//assert
			var expected = new[] { value, new Tuple<object, object>(oldValue, value) };
			AssertInvocation(actual, expected);
		}
        public void Value_ShouldCallMethodsInCorrectOrder(
            IFixture fixture,
            object value,
            object oldValue)
        {
            //arrange
            var property = new Mock <IObservableProperty <object> >();

            property.SetupGet(p => p.Value).Returns(oldValue);
            var action = new Mock <Action <object, object> >();
            var sut    = new ObservablePropertyAfterSetterInterceptor <object>(property.Object, action.Object);
            var actual = new List <object>();

            action.Setup(a => a(oldValue, value)).Callback <object, object>((o, o1) => actual.Add(new Tuple <object, object>(o, o1)));
            property.SetupSet(o => o.Value).Callback(o => actual.Add(o));
            //act
            sut.Value = value;

            //assert
            var expected = new[] { value, new Tuple <object, object>(oldValue, value) };

            AssertInvocation(actual, expected);
        }
 public void Sut_IsObservableProperty(
     ObservablePropertyAfterSetterInterceptor <object> sut)
 {
     //arrange
     sut.Should().BeAssignableTo <IObservableProperty <object> >();
 }
		public void Sut_IsObservableProperty(
			ObservablePropertyAfterSetterInterceptor<object> sut)
		{
			//arrange
			sut.Should().BeAssignableTo<IObservableProperty<object>>();
		}