/// <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);
            }
        }
Exemple #2
0
        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 );
        }