/// <summary> /// Called just after SetValueAt /// </summary> /// <param name="index">The index.</param> /// <param name="newValue">The new item.</param> /// <param name="overwrittenValue">The overwritten item.</param> protected override void OnSetValueAtCompleted(int index, T newValue, T overwrittenValue) { base.OnSetValueAtCompleted(index, newValue, overwrittenValue); this.EnsureNotDisposed(); if (!this.IsCachingSuspended && this.IsTracking) { var descriptor = new ItemReplacedDescriptor <T>(newValue, overwrittenValue, index); var change = new ItemReplacedCollectionChange <T>(this, descriptor, this.itemReplacedRejectCallback, null, string.Empty); this.Memento.Add(change, AddChangeBehavior.Default); } }
public void itemReplacedDescriptor_ctor_normal_should_set_expected_values() { var newItem = new GenericParameterHelper(); var replacedItem = new GenericParameterHelper(); var index = 102; var target = new ItemReplacedDescriptor <GenericParameterHelper>(newItem, replacedItem, index); target.Index.Should().Be.EqualTo(index); target.Item.Should().Be.EqualTo(newItem); target.ReplacedItem.Should().Be.EqualTo(replacedItem); target.NewItem.Should().Be.EqualTo(newItem); }
public void itemReplacedDescriptor_ctor_normal_should_set_expected_values() { var newItem = new GenericParameterHelper(); var replacedItem = new GenericParameterHelper(); var index = 102; var target = new ItemReplacedDescriptor<GenericParameterHelper>( newItem, replacedItem, index ); target.Index.Should().Be.EqualTo( index ); target.Item.Should().Be.EqualTo( newItem ); target.ReplacedItem.Should().Be.EqualTo( replacedItem ); target.NewItem.Should().Be.EqualTo( newItem ); }