public void ResetSecond_Always_LeavesOutputIntact()
        {
            var people = ClinqTestFactory.CreateSixPersonSource();

            var first = new TestContinuousCollection<Person>(people.ToList());
            var second = new TestContinuousCollection<Person> { people[0] };
            _target = new ExceptReadOnlyContinuousCollection<Person>(first, second);

            second.FireReset();

            Assert.AreEqual(5, _target.Count);
            CollectionAssert.AreEquivalent(people.Skip(1), _target.Output);
        }
        public void ResetOnSecond_Always_RaisesNotifyCollectionChangedWithResetAction()
        {
            var people = ClinqTestFactory.CreateSixPersonSource();

            var first = new TestContinuousCollection<Person>(people.ToList());
            var second = new TestContinuousCollection<Person> { people[0] };
            _target = new ExceptReadOnlyContinuousCollection<Person>(first, second);

            var eventArgsList = new List<NotifyCollectionChangedEventArgs>();
            _target.CollectionChanged += (sender, e) => eventArgsList.Add(e);

            second.FireReset();

            Assert.AreEqual(1, eventArgsList.Count);
            Assert.AreEqual(NotifyCollectionChangedAction.Reset, eventArgsList[0].Action);
        }