org.scalatest

# Filter

#### class Filter extends (Set[String], Map[String, Set[String]]) ⇒ List[(String, Boolean)]

Filter whose `apply` method determines which of the passed tests to run and ignore based on tags to include and exclude passed as as class parameters.

This class handles the `org.scalatest.Ignore` tag specially, in that its `apply` method indicates which tests should be ignored based on whether they are tagged with `org.scalatest.Ignore`. If `"org.scalatest.Ignore"` is not passed in the `tagsToExclude` set, it will be implicitly added. However, if the `tagsToInclude` option is defined, and the contained set does not include `"org.scalatest.Ignore"`, then only those tests that are both tagged with `org.scalatest.Ignore` and at least one of the tags in the `tagsToInclude` set will be included in the result of `apply` and marked as ignored (so long as the test is not also marked with a tag other than `org.scalatest.Ignore` that is a member of the `tagsToExclude` set. For example, if `SlowAsMolasses` is a member of the `tagsToInclude` set and a test is tagged with both `org.scalatest.Ignore` and `SlowAsMolasses`, and `SlowAsMolasses` appears in the `tagsToExclude` set, the `SlowAsMolasses` tag will "overpower" the `org.scalatest.Ignore` tag, and the test will be filtered out entirely rather than being ignored.

Attributes
  final

Linear Supertypes
(Set[String], Map[String, Set[String]]) ⇒ List[(String, Boolean)], AnyRef, Any
Ordering

1. Alphabetic
2. By inheritance

Inherited

1. Hide All
2. Show all

1. Filter
2. Function2
3. AnyRef
4. Any

Visibility

1. Public
2. All

### Instance Constructors

1. #### new Filter (tagsToInclude: Option[Set[String]], tagsToExclude: Set[String])

   tagsToInclude

     an optional `Set` of `String` tag names to include (i.e., not filter out) when filtering tests

   tagsToExclude

     a `Set` of `String` tag names to exclude (i.e., filter out) when filtering tests

### Value Members

1. #### def != (arg0: AnyRef): Boolean

   Attributes
     final
   Definition Classes
     AnyRef

2. #### def != (arg0: Any): Boolean

   Attributes
     final
   Definition Classes
     Any

3. #### def ## (): Int

   Attributes
     final
   Definition Classes
     AnyRef → Any

4. #### def == (arg0: AnyRef): Boolean

   Attributes
     final
   Definition Classes
     AnyRef

5. #### def == (arg0: Any): Boolean

   Attributes
     final
   Definition Classes
     Any

6. #### def apply (testName: String, tags: Map[String, Set[String]]): (Boolean, Boolean)

   Filter one test name based on its tags.

   Filter one test name based on its tags.

   The returned tuple contains a `Boolean` that indicates whether the test should be filtered, and if not, a `Boolean` that indicates whether the test should be ignored. A test will be marked as ignored if `org.scalatest.Ignore` is in its tags set, and either `tagsToInclude` is `None`, or `tagsToInclude`'s value (a set) contains the passed test name, unless another tag for that test besides `org.scalatest.Ignore` is also included in `tagsToExclude`. For example, if a test is tagged with both `org.scalatest.Ignore` and `SlowAsMolasses`, and `SlowAsMolasses` appears in the `tagsToExclude` set, the `SlowAsMolasses` tag will "overpower" the `org.scalatest.Ignore` tag, and this method will return (true, false).

       val (filterTest, ignoreTest) = filter(testName, tags)
       if (!filterTest)
         if (ignoreTest)
           // ignore the test
         else
           // execute the test

   testName

     the test name to be filtered

   tags

     a map from test name to tags, containing only test names that have at least one tag

7. #### def apply (testNames: Set[String], tags: Map[String, Set[String]]): List[(String, Boolean)]

   Filter test names based on their tags.

   Filter test names based on their tags.

   Each tuple in the returned list contains a `String` test name and a `Boolean` that indicates whether the test should be ignored. A test will be marked as ignored if `org.scalatest.Ignore` is in its tags set, and either `tagsToInclude` is `None`, or `tagsToInclude`'s value (a set) contains the test's name, unless another tag for that test besides `org.scalatest.Ignore` is also included in `tagsToExclude`. For example, if a test is tagged with both `org.scalatest.Ignore` and `SlowAsMolasses`, and `SlowAsMolasses` appears in the `tagsToExclude` set, the `SlowAsMolasses` tag will "overpower" the `org.scalatest.Ignore` tag, and this method will return a list that does not include the test name.

       for ((testName, ignoreTest) <- filter(testNames, tags))
         if (ignoreTest)
           // ignore the test
         else
           // execute the test

   testNames

     test names to be filtered

   tags

     a map from test name to tags, containing only test names included in the `testNames` set, and only test names that have at least one tag

   Definition Classes
     Filter → Function2

8. #### def asInstanceOf [T0] : T0

   Attributes
     final
   Definition Classes
     Any

9. #### def clone (): AnyRef

   Attributes
     protected[lang]
   Definition Classes
     AnyRef
   Annotations
     @throws()

10. #### def curried : (Set[String]) ⇒ (Map[String, Set[String]]) ⇒ List[(String, Boolean)]

    Definition Classes
      Function2

11. #### def eq (arg0: AnyRef): Boolean

    Attributes
      final
    Definition Classes
      AnyRef

12. #### def equals (arg0: Any): Boolean

    Definition Classes
      AnyRef → Any

13. #### def finalize (): Unit

    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws()

14. #### def getClass (): java.lang.Class[_]

    Attributes
      final
    Definition Classes
      AnyRef

15. #### def hashCode (): Int

    Definition Classes
      AnyRef → Any

16. #### def isInstanceOf [T0] : Boolean

    Attributes
      final
    Definition Classes
      Any

17. #### def ne (arg0: AnyRef): Boolean

    Attributes
      final
    Definition Classes
      AnyRef

18. #### def notify (): Unit

    Attributes
      final
    Definition Classes
      AnyRef

19. #### def notifyAll (): Unit

    Attributes
      final
    Definition Classes
      AnyRef

20. #### def runnableTestCount (testNames: Set[String], tags: Map[String, Set[String]]): Int

    Returns the number of tests that should be run after the passed `testNames` and `tags` have been filtered with the `tagsToInclude` and `tagsToExclude` class parameters.

    Returns the number of tests that should be run after the passed `testNames` and `tags` have been filtered with the `tagsToInclude` and `tagsToExclude` class parameters.

    The result of this method may be smaller than the number of elements in the list returned by `apply`, because the count returned by this method does not include ignored tests, and the list returned by `apply` does include ignored tests.

    testNames

      test names to be filtered

    tags

      a map from test name to tags, containing only test names included in the `testNames` set, and only test names that have at least one tag

21. #### def synchronized [T0] (arg0: ⇒ T0): T0

    Attributes
      final
    Definition Classes
      AnyRef

22. #### val tagsToExclude : Set[String]

    a `Set` of `String` tag names to exclude (i.e., filter out) when filtering tests

23. #### val tagsToInclude : Option[Set[String]]

    an optional `Set` of `String` tag names to include (i.e., not filter out) when filtering tests

24. #### def toString (): String

    Definition Classes
      Function2 → AnyRef → Any

25. #### def tupled : ((Set[String], Map[String, Set[String]])) ⇒ List[(String, Boolean)]

    Definition Classes
      Function2

26. #### def wait (): Unit

    Attributes
      final
    Definition Classes
      AnyRef
    Annotations
      @throws()

27. #### def wait (arg0: Long, arg1: Int): Unit

    Attributes
      final
    Definition Classes
      AnyRef
    Annotations
      @throws()

28. #### def wait (arg0: Long): Unit

    Attributes
      final
    Definition Classes
      AnyRef
    Annotations
      @throws()

29. #### def curry : (Set[String]) ⇒ (Map[String, Set[String]]) ⇒ List[(String, Boolean)]

    Definition Classes
      Function2
    Annotations
      @deprecated
    Deprecated

      Use 'curried' instead

### Inherited from (Set[String], Map[String, Set[String]]) ⇒ List[(String, Boolean)]

### Inherited from AnyRef

### Inherited from Any