## Hierarchy For All Packages

Package Hierarchies:
  junit.extensions, junit.framework, junit.runner, junit.textui, org.hamcrest, org.hamcrest.core, 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.function, org.junit.matchers, org.junit.rules, org.junit.runner, org.junit.runner.manipulation, org.junit.runner.notification, org.junit.runners, org.junit.runners.model, org.junit.runners.parameterized, org.junit.validator

## Class Hierarchy

- java.lang.Object
  - java.util.AbstractMap<K,V> (implements java.util.Map<K,V>)
    - java.util.HashMap<K,V> (implements java.lang.Cloneable, java.util.Map<K,V>, java.io.Serializable)
      - junit.framework.JUnit4TestAdapterCache
  - org.junit.validator.AnnotationsValidator (implements org.junit.validator.TestClassValidator)
  - org.junit.validator.AnnotationValidator
    - org.junit.experimental.categories.CategoryValidator
    - org.junit.runner.OrderWithValidator
  - org.junit.validator.AnnotationValidatorFactory
  - junit.framework.Assert
    - junit.framework.TestCase (implements junit.framework.Test)
    - junit.extensions.TestDecorator (implements junit.framework.Test)
      - junit.extensions.RepeatedTest
      - junit.extensions.TestSetup
  - 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
  - junit.runner.BaseTestRunner (implements junit.framework.TestListener)
    - junit.textui.TestRunner
  - org.junit.runners.parameterized.BlockJUnit4ClassRunnerWithParametersFactory (implements org.junit.runners.parameterized.ParametersRunnerFactory)
  - org.hamcrest.core.CombinableMatcher.CombinableBothMatcher<X>
  - org.hamcrest.core.CombinableMatcher.CombinableEitherMatcher<X>
  - junit.framework.ComparisonCompactor
  - 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.DisableOnDebug (implements org.junit.rules.TestRule)
  - org.junit.experimental.categories.ExcludeCategories
  - 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.runner.FilterFactoryParams
  - org.junit.runners.model.FrameworkMember<T> (implements org.junit.runners.model.Annotatable)
    - org.junit.runners.model.FrameworkField
    - org.junit.runners.model.FrameworkMethod
  - org.junit.experimental.categories.IncludeCategories
  - junit.framework.JUnit4TestAdapter (implements org.junit.runner.Describable, org.junit.runner.manipulation.Filterable, org.junit.runner.manipulation.Orderable, junit.framework.Test)
  - junit.framework.JUnit4TestCaseFacade (implements org.junit.runner.Describable, junit.framework.Test)
  - 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.runner.manipulation.Orderer
  - org.junit.runner.manipulation.Ordering
    - org.junit.runner.manipulation.Sorter (implements java.util.Comparator<T>)
      - org.junit.runner.manipulation.Alphanumeric (implements org.junit.runner.manipulation.Ordering.Factory)
  - org.junit.runner.manipulation.Ordering.Context
  - 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.junit.validator.PublicClassValidator (implements org.junit.validator.TestClassValidator)
  - org.junit.runner.Request
  - org.junit.runner.Result (implements java.io.Serializable)
  - org.junit.experimental.results.ResultMatchers
  - junit.textui.ResultPrinter (implements junit.framework.TestListener)
  - 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.Orderable)
      - org.junit.internal.runners.SuiteMethod
        - org.junit.runners.AllTests
    - org.junit.runners.ParentRunner<T> (implements org.junit.runner.manipulation.Filterable, org.junit.runner.manipulation.Orderable)
      - org.junit.runners.BlockJUnit4ClassRunner
        - org.junit.runners.parameterized.BlockJUnit4ClassRunnerWithParameters
        - 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.junit.runners.model.Statement
    - org.junit.rules.RunRules
    - org.junit.experimental.theories.Theories.TheoryAnchor
  - org.junit.rules.Stopwatch (implements org.junit.rules.TestRule)
  - org.junit.rules.TemporaryFolder.Builder
  - org.junit.runners.model.TestClass (implements org.junit.runners.model.Annotatable)
  - junit.framework.TestFailure
  - junit.framework.TestResult
  - junit.framework.TestSuite (implements junit.framework.Test)
    - junit.extensions.ActiveTestSuite
  - org.junit.rules.TestWatcher (implements org.junit.rules.TestRule)
    - org.junit.rules.TestName
  - org.junit.rules.TestWatchman (implements org.junit.rules.MethodRule)
  - org.junit.runners.parameterized.TestWithParameters
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Error
      - java.lang.AssertionError
        - junit.framework.AssertionFailedError
          - junit.framework.ComparisonFailure
        - org.junit.ComparisonFailure
    - java.lang.Exception
      - org.junit.experimental.max.CouldNotReadCoreException
      - org.junit.runner.FilterFactory.FilterNotCreatedException
      - org.junit.runners.model.InitializationError
        - org.junit.runners.model.InvalidTestClassError
      - org.junit.runner.manipulation.InvalidOrderingException
      - org.junit.runners.model.MultipleFailureException
      - org.junit.runner.manipulation.NoTestsRemainException
      - org.junit.experimental.theories.PotentialAssignment.CouldNotGenerateValueException
      - java.lang.RuntimeException
        - org.junit.internal.AssumptionViolatedException (implements org.hamcrest.SelfDescribing)
          - org.junit.AssumptionViolatedException
        - org.junit.runner.notification.StoppedByUserException
        - org.junit.TestCouldNotBeSkippedException
      - org.junit.runners.model.TestTimedOutException
    - org.junit.Test.None
  - org.junit.rules.Timeout (implements org.junit.rules.TestRule)
  - org.junit.rules.Timeout.Builder
  - org.junit.rules.Verifier (implements org.junit.rules.TestRule)
    - org.junit.rules.ErrorCollector
  - junit.runner.Version

## Interface Hierarchy

- org.junit.runners.model.Annotatable
- org.hamcrest.Condition.Step<I,O>
- org.junit.runner.Describable
- org.hamcrest.Description
- org.junit.runner.manipulation.Filterable
- org.junit.runner.FilterFactory
- org.junit.runners.model.MemberValueConsumer<T>
- org.junit.rules.MethodRule
- org.junit.runner.manipulation.Ordering.Factory
- org.junit.runners.parameterized.ParametersRunnerFactory
- junit.framework.Protectable
- org.junit.runners.model.RunnerScheduler
- org.hamcrest.SelfDescribing
  - org.hamcrest.Matcher<T>
- org.junit.runner.manipulation.Sortable
  - org.junit.runner.manipulation.Orderable
- junit.framework.Test
- org.junit.validator.TestClassValidator
- junit.framework.TestListener
- org.junit.rules.TestRule
- junit.runner.TestRunListener
- org.junit.function.ThrowingRunnable

## Annotation Type Hierarchy

- org.junit.Before (implements java.lang.annotation.Annotation)
- org.junit.Rule (implements java.lang.annotation.Annotation)
- org.junit.AfterClass (implements java.lang.annotation.Annotation)
- org.junit.Test (implements java.lang.annotation.Annotation)
- org.junit.After (implements java.lang.annotation.Annotation)
- org.junit.FixMethodOrder (implements java.lang.annotation.Annotation)
- org.junit.Ignore (implements java.lang.annotation.Annotation)
- org.junit.BeforeClass (implements java.lang.annotation.Annotation)
- org.junit.ClassRule (implements java.lang.annotation.Annotation)
- org.junit.experimental.theories.FromDataPoints (implements java.lang.annotation.Annotation)
- org.junit.experimental.theories.ParametersSuppliedBy (implements java.lang.annotation.Annotation)
- org.junit.experimental.theories.Theory (implements java.lang.annotation.Annotation)
- org.junit.experimental.theories.DataPoint (implements java.lang.annotation.Annotation)
- org.junit.experimental.theories.DataPoints (implements java.lang.annotation.Annotation)
- org.junit.experimental.theories.suppliers.TestedOn (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.categories.Category (implements java.lang.annotation.Annotation)
- org.junit.validator.ValidateWith (implements java.lang.annotation.Annotation)
- org.junit.runner.OrderWith (implements java.lang.annotation.Annotation)
- org.junit.runner.RunWith (implements java.lang.annotation.Annotation)
- org.junit.runner.notification.RunListener.ThreadSafe (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.junit.runners.Parameterized.UseParametersRunnerFactory (implements java.lang.annotation.Annotation)
- org.junit.runners.Parameterized.BeforeParam (implements java.lang.annotation.Annotation)
- org.junit.runners.Parameterized.AfterParam (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

Copyright © 2002–2020 JUnit. All rights reserved.