import unittest import string import zipfile from ._functools import compose from ._itertools import consume from ._support import import_or_skip big_o = import_or_skip('big_o') class TestComplexity(unittest.TestCase): def test_implied_dirs_performance(self): best, others = big_o.big_o( compose(consume, zipfile.CompleteDirs._implied_dirs), lambda size: [ '/'.join(string.ascii_lowercase + str(n)) for n in range(size) ], max_n=1000, min_n=1, ) assert best <= big_o.complexities.Linear