/// <summary>
        /// Initializes a new instance of the <see cref="T:PublicPrimitiveTypeFilter"/> class.
        /// </summary>
        //We need a default constructor for the FilteredTypeBrowser to work properly
        public PublicPrimitiveTypeFilter() : base()
        {
            customTypeFilter = new PublicNonSystemTypeFilter();
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="T:PublicPrimitiveTypeFilter"/> class.
        /// </summary>
        /// <param name="provider">The provider.</param>
        //We need a default constructor for the FilteredTypeBrowser to work properly
		public PublicPrimitiveTypeFilter(IServiceProvider provider) : base(provider)
        {
            customTypeFilter = new PublicNonSystemTypeFilter(provider);
        }
		public void ShouldReturnTrueOnNonSystemType() 
		{
			PublicNonSystemTypeFilter filter = new PublicNonSystemTypeFilter();
			Assert.IsTrue(filter.CanFilterType(typeof(VSLangProj.ReferencesEventsClass), false));
		}
		public void ShouldReturnFalseOnAbstractType()
		{
			PublicNonSystemTypeFilter filter = new PublicNonSystemTypeFilter();
			Assert.IsFalse(filter.CanFilterType(typeof(VSLangProj.PrjBrowseObjectCATID), false));
		}
		public void ShouldReturnFalseOnPrivateType()
		{
			PublicNonSystemTypeFilter filter = new PublicNonSystemTypeFilter();
			Assert.IsFalse(filter.CanFilterType(typeof(PrivateType), false));
		}
		public void FilterDescriptionReturnsValidText()
		{
			string expectedText = "solution types";
			PublicNonSystemTypeFilter filter = new PublicNonSystemTypeFilter();
			Assert.AreEqual<string>(expectedText, filter.FilterDescription);
		}
		public void ShouldReturnFalseOnMicrosoftTypes()
		{
			PublicNonSystemTypeFilter filter = new PublicNonSystemTypeFilter();
			Assert.IsFalse(filter.CanFilterType(typeof(Microsoft.VisualStudio.ErrorHandler), false));
		}
		public void ThrowOnError()
		{
			PublicNonSystemTypeFilter filter = new PublicNonSystemTypeFilter();
			filter.CanFilterType(typeof(PrivateType), true);
		}
		public void ThrowOnNullType()
		{
			PublicNonSystemTypeFilter filter = new PublicNonSystemTypeFilter();
			filter.CanFilterType(null, true);
		}