public void TestConvertTo()
        {
            FileFiltersTypeConverter converter = new FileFiltersTypeConverter();

            Assert.AreEqual(true, converter.CanConvertTo(typeof(string)));
            Assert.AreEqual(true, converter.CanConvertTo(typeof(IList <IFileFilter>)));

            IList <IFileFilter> filters = new List <IFileFilter>()
            {
                FileFilter.Create("Test", "*.cs")
            };

            string filterStr = converter.ConvertTo(filters, typeof(string)) as string;

            Assert.IsNotNull(filterStr);
            Assert.AreEqual("Test|*.cs", filterStr);

            filterStr = converter.ConvertTo(filterStr, typeof(string)) as string;

            Assert.IsNotNull(filterStr);
            Assert.AreEqual("Test|*.cs", filterStr);

            filterStr = converter.ConvertFrom(null) as string;

            Assert.IsNull(filterStr);
        }
        public void TestConvertFromString()
        {
            FileFiltersTypeConverter converter = new FileFiltersTypeConverter();

            Assert.AreEqual(true, converter.CanConvertFrom(typeof(string)));
            Assert.AreEqual(true, converter.CanConvertFrom(typeof(IList <IFileFilter>)));

            IList <IFileFilter> filters = converter.ConvertFrom("Test|*.cs") as IList <IFileFilter>;

            Assert.IsNotNull(filters);
            Assert.AreEqual(1, filters.Count);
            Assert.AreEqual("Test", filters[0].Label);
            Assert.AreEqual("*.cs", filters[0].Filters);

            filters = converter.ConvertFrom(filters) as IList <IFileFilter>;

            Assert.IsNotNull(filters);
            Assert.AreEqual(1, filters.Count);
            Assert.AreEqual("Test", filters[0].Label);
            Assert.AreEqual("*.cs", filters[0].Filters);

            filters = converter.ConvertFrom(null) as IList <IFileFilter>;

            Assert.IsNull(filters);
        }