public void IListContainsShouldNotMatchIncompatibleItemType()
        {
            // arrange
            var source = new ObservableKeyedCollection<string, string>( o => o.ToString() );
            IList target = new ReadOnlyObservableKeyedCollection<string, string>( source );
            var item = "test";

            source.Add( item );

            // act
            var actual = target.Contains( new object() );

            // assert
            Assert.False( actual );
        }
        public void IListContainsShouldMatchSourceCollection()
        {
            // arrange
            var source = new ObservableKeyedCollection<string, object>( o => o.ToString() );
            IList target = new ReadOnlyObservableKeyedCollection<string, object>( source );
            var item = new object();

            source.Add( item );

            // act

            // assert
            Assert.True( target.Contains( item ) );
            Assert.False( target.Contains( new object() ) );
        }