# Hierarchy For All Packages

Package Hierarchies:

- org.hamcrest,
- org.hamcrest.core,
- org.hamcrest.internal,
- org.junit,
- org.junit.experimental,
- org.junit.experimental.categories,
- org.junit.experimental.max,
- org.junit.experimental.results,
- org.junit.experimental.runners,
- org.junit.experimental.theories,
- org.junit.experimental.theories.suppliers,
- org.junit.matchers,
- org.junit.rules,
- org.junit.runner,
- org.junit.runner.manipulation,
- org.junit.runner.notification,
- org.junit.runners,
- org.junit.runners.model

## Class Hierarchy

- java.lang.Object
  - org.hamcrest.internal.ArrayIterator (implements java.util.Iterator<E>)
  - org.junit.Assert
  - org.junit.Assume
  - org.hamcrest.BaseDescription (implements org.hamcrest.Description)
    - org.hamcrest.StringDescription
  - org.hamcrest.BaseMatcher<T> (implements org.hamcrest.Matcher<T>)
    - org.hamcrest.core.AnyOf<T>
    - org.hamcrest.CustomMatcher<T>
    - org.hamcrest.core.DescribedAs<T>
    - org.hamcrest.DiagnosingMatcher<T>
      - org.hamcrest.core.AllOf<T>
      - org.hamcrest.core.IsInstanceOf
    - org.hamcrest.core.Is<T>
    - org.hamcrest.core.IsAnything<T>
    - org.hamcrest.core.IsEqual<T>
    - org.hamcrest.core.IsNot<T>
    - org.hamcrest.core.IsNull<T>
    - org.hamcrest.core.IsSame<T>
    - org.hamcrest.TypeSafeDiagnosingMatcher<T>
      - org.hamcrest.core.CombinableMatcher<T>
      - org.hamcrest.core.Every<T>
      - org.hamcrest.FeatureMatcher<T,U>
      - org.hamcrest.core.IsCollectionContaining<T>
    - org.hamcrest.TypeSafeMatcher<T>
      - org.hamcrest.CustomTypeSafeMatcher<T>
      - org.hamcrest.core.SubstringMatcher
        - org.hamcrest.core.StringContains
        - org.hamcrest.core.StringEndsWith
        - org.hamcrest.core.StringStartsWith
  - org.hamcrest.core.CombinableMatcher.CombinableBothMatcher<X>
  - org.hamcrest.core.CombinableMatcher.CombinableEitherMatcher<X>
  - org.junit.runner.Computer
    - org.junit.experimental.ParallelComputer
  - org.hamcrest.Condition<T>
  - org.hamcrest.CoreMatchers
  - org.junit.runner.Description (implements java.io.Serializable)
  - org.hamcrest.Description.NullDescription (implements org.hamcrest.Description)
  - org.junit.rules.ExpectedException (implements org.junit.rules.TestRule)
  - org.junit.rules.ExternalResource (implements org.junit.rules.TestRule)
    - org.junit.rules.TemporaryFolder
  - org.junit.runner.notification.Failure (implements java.io.Serializable)
  - org.junit.runner.manipulation.Filter
    - org.junit.experimental.categories.Categories.CategoryFilter
  - org.junit.runners.model.FrameworkMember<T>
    - org.junit.runners.model.FrameworkField
    - org.junit.runners.model.FrameworkMethod
  - org.junit.runner.JUnitCore
  - org.junit.matchers.JUnitMatchers
  - org.hamcrest.MatcherAssert
  - org.junit.experimental.max.MaxCore
  - org.junit.experimental.max.MaxHistory (implements java.io.Serializable)
  - org.junit.experimental.theories.ParameterSignature
  - org.junit.experimental.theories.ParameterSupplier
    - org.junit.experimental.theories.suppliers.TestedOnSupplier
  - org.junit.experimental.theories.PotentialAssignment
  - org.junit.experimental.results.PrintableResult
  - org.hamcrest.internal.ReflectiveTypeFinder
  - org.junit.runner.Request
  - org.junit.runner.Result (implements java.io.Serializable)
  - org.junit.experimental.results.ResultMatchers
  - org.junit.rules.RuleChain (implements org.junit.rules.TestRule)
  - org.junit.runner.notification.RunListener
  - org.junit.runner.Runner (implements org.junit.runner.Describable)
    - org.junit.internal.runners.JUnit38ClassRunner (implements org.junit.runner.manipulation.Filterable, org.junit.runner.manipulation.Sortable)
      - org.junit.internal.runners.SuiteMethod
        - org.junit.runners.AllTests
    - org.junit.runners.ParentRunner<T> (implements org.junit.runner.manipulation.Filterable, org.junit.runner.manipulation.Sortable)
      - org.junit.runners.BlockJUnit4ClassRunner
        - org.junit.runners.JUnit4
        - org.junit.experimental.theories.Theories
      - org.junit.runners.Suite
        - org.junit.experimental.categories.Categories
        - org.junit.experimental.runners.Enclosed
        - org.junit.runners.Parameterized
  - org.junit.runners.model.RunnerBuilder
  - org.junit.runner.notification.RunNotifier
  - org.hamcrest.internal.SelfDescribingValue<T> (implements org.hamcrest.SelfDescribing)
  - org.hamcrest.internal.SelfDescribingValueIterator<T> (implements java.util.Iterator<E>)
  - org.junit.runner.manipulation.Sorter (implements java.util.Comparator<T>)
  - org.junit.runners.model.Statement
    - org.junit.rules.RunRules
    - org.junit.experimental.theories.Theories.TheoryAnchor
  - org.junit.runners.model.TestClass
  - org.junit.rules.TestWatcher (implements org.junit.rules.TestRule)
    - org.junit.rules.TestName
  - org.junit.rules.TestWatchman (implements org.junit.rules.MethodRule)
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Error
      - java.lang.AssertionError
        - org.junit.ComparisonFailure
    - java.lang.Exception
      - org.junit.experimental.max.CouldNotReadCoreException
      - org.junit.runners.model.InitializationError
      - org.junit.runners.model.MultipleFailureException
      - org.junit.runner.manipulation.NoTestsRemainException
      - org.junit.experimental.theories.PotentialAssignment.CouldNotGenerateValueException
      - java.lang.RuntimeException
        - org.junit.runner.notification.StoppedByUserException
    - org.junit.Test.None
  - org.junit.rules.Timeout (implements org.junit.rules.TestRule)
  - org.junit.rules.Verifier (implements org.junit.rules.TestRule)
    - org.junit.rules.ErrorCollector

## Interface Hierarchy

- org.hamcrest.Condition.Step<I,O>
- org.junit.runner.Describable
- org.hamcrest.Description
- org.junit.runner.manipulation.Filterable
- org.junit.rules.MethodRule
- org.junit.runners.model.RunnerScheduler
- org.hamcrest.SelfDescribing
  - org.hamcrest.Matcher<T>
- org.junit.runner.manipulation.Sortable
- org.junit.rules.TestRule

## Annotation Type Hierarchy

- org.junit.Test (implements java.lang.annotation.Annotation)
- org.junit.Rule (implements java.lang.annotation.Annotation)
- org.junit.Ignore (implements java.lang.annotation.Annotation)
- org.junit.FixMethodOrder (implements java.lang.annotation.Annotation)
- org.junit.ClassRule (implements java.lang.annotation.Annotation)
- org.junit.BeforeClass (implements java.lang.annotation.Annotation)
- org.junit.Before (implements java.lang.annotation.Annotation)
- org.junit.AfterClass (implements java.lang.annotation.Annotation)
- org.junit.After (implements java.lang.annotation.Annotation)
- org.junit.experimental.categories.Category (implements java.lang.annotation.Annotation)
- org.junit.experimental.categories.Categories.IncludeCategory (implements java.lang.annotation.Annotation)
- org.junit.experimental.categories.Categories.ExcludeCategory (implements java.lang.annotation.Annotation)
- org.junit.experimental.theories.Theory (implements java.lang.annotation.Annotation)
- org.junit.experimental.theories.ParametersSuppliedBy (implements java.lang.annotation.Annotation)
- org.junit.experimental.theories.DataPoints (implements java.lang.annotation.Annotation)
- org.junit.experimental.theories.DataPoint (implements java.lang.annotation.Annotation)
- org.junit.experimental.theories.suppliers.TestedOn (implements java.lang.annotation.Annotation)
- org.junit.runner.RunWith (implements java.lang.annotation.Annotation)
- org.junit.runners.Suite.SuiteClasses (implements java.lang.annotation.Annotation)
- org.junit.runners.Parameterized.Parameters (implements java.lang.annotation.Annotation)
- org.junit.runners.Parameterized.Parameter (implements java.lang.annotation.Annotation)
- org.hamcrest.Factory (implements java.lang.annotation.Annotation)

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - org.junit.runners.MethodSorters