def test_cache_clearing(): dispatch = Dispatcher() @dispatch(object) def f(x): return 1 @dispatch(List(int)) def f(x): return 1 f(1) # Check that cache is used. assert len(f.methods) == 2 assert len(f.precedences) == 2 assert f._parametric dispatch.clear_cache() # Check that cache is cleared. assert len(f.methods) == 0 assert len(f.precedences) == 0 assert not f._parametric f(1) clear_all_cache() # Again check that cache is cleared. assert len(f.methods) == 0 assert len(f.precedences) == 0 assert len(subclasscheck_cache) == 0 assert not f._parametric
def test_cache_clearing(): dispatch = Dispatcher() @dispatch def f(x: object): return 1 @dispatch def f(x: List[int]): return 1 f(1) # Check that cache is used. assert len(f._methods) == 2 assert len(f._precedences) == 2 assert f._runtime_type_of dispatch.clear_cache() # Check that cache is cleared. assert len(f._methods) == 0 assert len(f._precedences) == 0 assert not f._runtime_type_of f(1) clear_all_cache() # Again check that cache is cleared. assert len(f._methods) == 0 assert len(f._precedences) == 0 assert len(subclasscheck_cache) == 0 assert not f._runtime_type_of