public void Raises_changing_event_before_change(bool useLazyLoading)
        {
            using var context = new ChangeContext <ChangeValueEntity>(useLazyLoading: useLazyLoading);
            var proxy = context.CreateProxy <ChangeValueEntity>();

            proxy.Value = 5;
            context.Add(proxy);
            context.SaveChanges();

            var eventRaised = false;

            ((INotifyPropertyChanging)proxy).PropertyChanging += (s, e) =>
            {
                eventRaised = true;

                Assert.Equal(proxy, s);

                Assert.Equal(
                    nameof(ChangeValueEntity.Value),
                    e.PropertyName);

                Assert.Equal(
                    5,
                    ((ChangeValueEntity)s).Value);
            };

            proxy.Value = 10;
            Assert.True(eventRaised);
        }
        public void Raises_changing_event_when_equal_and_check_equality_false(bool useLazyLoading)
        {
            using var context = new ChangeContext <ChangeValueEntity>(useLazyLoading: useLazyLoading, checkEquality: false);
            var proxy = context.CreateProxy <ChangeValueEntity>();

            proxy.Value = 10;
            context.Add(proxy);
            context.SaveChanges();

            var eventRaised = false;

            ((INotifyPropertyChanging)proxy).PropertyChanging += (s, e) =>
            {
                eventRaised = true;
            };

            proxy.Value = 10;
            Assert.True(eventRaised);
        }