public void DefaultConstructor_ExpectedValues()
        {
            // Call
            var observableList = new CloneableObservableList <object>();

            // Assert
            Assert.IsInstanceOf <ObservableList <object> >(observableList);
            Assert.IsInstanceOf <ICloneable>(observableList);
        }
        public void Clone_Always_ReturnNewInstanceWithEmptyObservers()
        {
            // Setup
            var mocks    = new MockRepository();
            var original = new CloneableObservableList <object>
            {
                new object(),
                new object()
            };
            var observer = mocks.Stub <IObserver>();

            original.Attach(observer);

            mocks.ReplayAll();

            // Call
            object clone = original.Clone();

            // Assert
            CoreCloneAssert.AreEnumerationClones(original, clone, Assert.AreEqual);
            CollectionAssert.IsEmpty(((CloneableObservableList <object>)clone).Observers);

            mocks.VerifyAll();
        }