public void itemChangedDescriptor_ctor_normal_should_set_expected_values()
        {
            var item = new GenericParameterHelper();
            var index = 10;

            var target = new ItemChangedDescriptor<GenericParameterHelper>( item, index );

            target.Index.Should().Be.EqualTo( index );
            target.Item.Should().Be.EqualTo( item );
        }
        public void itemChangedDescriptor_ctor_normal_should_set_expected_values()
        {
            var item  = new GenericParameterHelper();
            var index = 10;

            var target = new ItemChangedDescriptor <GenericParameterHelper>(item, index);

            target.Index.Should().Be.EqualTo(index);
            target.Item.Should().Be.EqualTo(item);
        }
        /// <summary>
        /// Called just after Remove
        /// </summary>
        /// <param name="value">The item.</param>
        /// <param name="index">The index.</param>
        protected override void OnRemoveCompleted(T value, int index)
        {
            base.OnRemoveCompleted(value, index);
            this.EnsureNotDisposed();

            if (!this.IsCachingSuspended && this.IsTracking)
            {
                var descriptor = new ItemChangedDescriptor <T>(value, index);
                var change     = new ItemRemovedCollectionChange <T>(this, descriptor, itemRemovedRejectCallback, null, string.Empty);
                this.Memento.Add(change, AddChangeBehavior.Default);
            }
        }