public void NotifyPropertyChanged()
        {
            var e = new AopTestEntityWithNPC();
            var t = PropertyChangedTracker.Create(e);

            e.A += 1;

            t.PropertyShouldBeNotified("A");
        }
        public void DontNotify()
        {
            var e = new AopTestEntityWithNPC();
            var t = PropertyChangedTracker.Create(e);

            e.B += 1;

            t.PropertyShouldBeNotified("B", 0);
        }
        public void RecursiveDependenttNotify()
        {
            var e = new AopTestEntityWithNPC();
            var t = PropertyChangedTracker.Create(e);

            e.A  += 1;
            e.A2 += 1;

            t.PropertyShouldBeNotified("RecursiveA", 2);
        }
        public void EqualValueSet()
        {
            var e = new AopTestEntityWithNPC();
            var t = PropertyChangedTracker.Create(e);

            e.A = 1;
            e.A = 1;

            t.PropertyShouldBeNotified("A", 1);
        }