def METHOD_NAME(self):
    """
    Test that strategy classes with multiple levels
    of inheritance can be properly retrieved
    """
    config = SomeStrategyConfiguration(some_key="non default value")
    retrieved_strategy = PostProcessorStrategy.get_strategy(
        SomeStrategy.name, config.dict()
    )
    assert isinstance(retrieved_strategy, SomeStrategy)
    retrieved_strategy = PostProcessorStrategy.get_strategy(
        SomeSubStrategy.name, config.dict()
    )
    assert isinstance(retrieved_strategy, SomeSubStrategy)
    assert issubclass(type(retrieved_strategy), SomeStrategy)
    retrieved_strategy = PostProcessorStrategy.get_strategy(
        AnotherSubStrategy.name, config.dict()
    )
    assert isinstance(retrieved_strategy, AnotherSubStrategy)
    assert issubclass(type(retrieved_strategy), SomeStrategy)
    retrieved_strategy = PostProcessorStrategy.get_strategy(
        SomeSubSubStrategy.name, config.dict()
    )
    assert isinstance(retrieved_strategy, SomeSubSubStrategy)
    assert issubclass(type(retrieved_strategy), SomeStrategy)
    assert issubclass(type(retrieved_strategy), SomeSubStrategy)
    retrieved_strategy = PostProcessorStrategy.get_strategy(
        DifferentStrategySubClass.name, config.dict()
    )
    assert isinstance(retrieved_strategy, DifferentStrategySubClass)
    assert issubclass(type(retrieved_strategy), SomeAbstractStrategyClass)