public void EventOnEndEdit() { var function = new Function { Arguments = { new Variable<int>() }, Components = { new Variable<int>() } }; var isEditingSetToFalseCallCount = 0; ((INotifyPropertyChange) function).PropertyChanged += (sender, args) => { if (args.PropertyName == "IsEditing" && !function.IsEditing) { isEditingSetToFalseCallCount++; } }; function.BeginEdit("Set values"); function[0] = 1; function[1] = 2; function.EndEdit(); isEditingSetToFalseCallCount .Should().Be.EqualTo(1); }