public void TestPredefinedTypesFromEnumerable() {
      IEnumerable<Type> types = typeof(ExplicitTypeListerTest).Assembly.GetTypes();
      ITypeLister testLister = new ExplicitTypeLister(types);

      Assert.That(
        testLister.GetTypes(), Has.Member(typeof(ExplicitTypeListerTest))
      );
    }
    public void TestPredefinedTypesFromParams() {
      ITypeLister testLister = new ExplicitTypeLister(
        typeof(ExplicitTypeListerTest), typeof(TestAttribute)
      );

      Assert.That(
        testLister.GetTypes(),
        Has.Member(typeof(ExplicitTypeListerTest)).And.Member(typeof(TestAttribute))
      );
    }
    public void TestRemoveTypesFromLister() {
      ExplicitTypeLister testLister = new ExplicitTypeLister(
        typeof(ExplicitTypeListerTest).Assembly.GetTypes()
      );

      Assert.That(
        testLister.GetTypes(), Has.Member(typeof(ExplicitTypeListerTest))
      );
      testLister.Types.Remove(typeof(ExplicitTypeListerTest));
      Assert.That(
        testLister.GetTypes(), Has.No.Member(typeof(ExplicitTypeListerTest))
      );
    }
    public void TestAddTypesToLister() {
      ExplicitTypeLister testLister = new ExplicitTypeLister();

      Assert.That(
        testLister.GetTypes(), Has.No.Member(typeof(TestAttribute))
      );
      testLister.Types.Add(typeof(TestAttribute));
      Assert.That(
        testLister.GetTypes(), Has.Member(typeof(TestAttribute))
      );
    }