private static BindingSource TestBindEnumerableReadonly <T>(IEnumerable <T> enumerable, bool setReadonly)
        {
            var bindingSource = new BindingSource();

            Assert.IsTrue(bindingSource.BindEnumerable(enumerable, setReadonly));
            Assert.IsInstanceOfType(bindingSource.List, typeof(IBindingListView));
            return(bindingSource);
        }
        private static BindingSource TestBindEnumerableReadonly(IEnumerable enumerable, bool setReadonly)
        {
            var bindingSource = new BindingSource();

            Assert.IsTrue(bindingSource.BindEnumerable(enumerable, setReadonly));
            Assert.IsInstanceOfType(bindingSource.List, typeof(IBindingListView));
            // Assert.AreNotEqual(bindingSource.AllowEdit, setReadonly);
            return(bindingSource);
        }
        public void DifferentItemTypesTest()
        {
            var listofNonSerializableClasses = SerializableClass.GenerateListWithBothSerializableClasses();
            var bindingSource = new BindingSource();

            Assert.IsTrue(bindingSource.BindEnumerable((IEnumerable)listofNonSerializableClasses, false));
            Assert.AreEqual(listofNonSerializableClasses, bindingSource.List);

            TestBindEnumerable(listofNonSerializableClasses);
            TestBindEnumerable(SerializableClass.GenerateListWithBoth());
        }