Created
January 14, 2017 22:55
-
-
Save purpleP/626faf5c1cbcd204c6478f57e76dc518 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from strategies import store | |
@store | |
def name0(): | |
pass | |
@store | |
def name1(): | |
pass | |
@store | |
def name2(): | |
pass | |
@store | |
def name3(): | |
pass | |
@store | |
def name4(): | |
pass | |
@store | |
def name5(): | |
pass | |
@store | |
def name6(): | |
pass | |
@store | |
def name7(): | |
pass | |
@store | |
def name8(): | |
pass | |
@store | |
def name9(): | |
pass | |
@store | |
def name10(): | |
pass | |
@store | |
def name11(): | |
pass | |
@store | |
def name12(): | |
pass | |
@store | |
def name13(): | |
pass | |
@store | |
def name14(): | |
pass | |
@store | |
def name15(): | |
pass | |
@store | |
def name16(): | |
pass | |
@store | |
def name17(): | |
pass | |
@store | |
def name18(): | |
pass | |
@store | |
def name19(): | |
pass | |
@store | |
def name20(): | |
pass | |
@store | |
def name21(): | |
pass | |
@store | |
def name22(): | |
pass | |
@store | |
def name23(): | |
pass | |
@store | |
def name24(): | |
pass | |
@store | |
def name25(): | |
pass | |
@store | |
def name26(): | |
pass | |
@store | |
def name27(): | |
pass | |
@store | |
def name28(): | |
pass | |
@store | |
def name29(): | |
pass | |
@store | |
def name30(): | |
pass | |
@store | |
def name31(): | |
pass | |
@store | |
def name32(): | |
pass | |
@store | |
def name33(): | |
pass | |
@store | |
def name34(): | |
pass | |
@store | |
def name35(): | |
pass | |
@store | |
def name36(): | |
pass | |
@store | |
def name37(): | |
pass | |
@store | |
def name38(): | |
pass | |
@store | |
def name39(): | |
pass | |
@store | |
def name40(): | |
pass | |
@store | |
def name41(): | |
pass | |
@store | |
def name42(): | |
pass | |
@store | |
def name43(): | |
pass | |
@store | |
def name44(): | |
pass | |
@store | |
def name45(): | |
pass | |
@store | |
def name46(): | |
pass | |
@store | |
def name47(): | |
pass | |
@store | |
def name48(): | |
pass | |
@store | |
def name49(): | |
pass | |
@store | |
def name50(): | |
pass | |
@store | |
def name51(): | |
pass | |
@store | |
def name52(): | |
pass | |
@store | |
def name53(): | |
pass | |
@store | |
def name54(): | |
pass | |
@store | |
def name55(): | |
pass | |
@store | |
def name56(): | |
pass | |
@store | |
def name57(): | |
pass | |
@store | |
def name58(): | |
pass | |
@store | |
def name59(): | |
pass | |
@store | |
def name60(): | |
pass | |
@store | |
def name61(): | |
pass | |
@store | |
def name62(): | |
pass | |
@store | |
def name63(): | |
pass | |
@store | |
def name64(): | |
pass | |
@store | |
def name65(): | |
pass | |
@store | |
def name66(): | |
pass | |
@store | |
def name67(): | |
pass | |
@store | |
def name68(): | |
pass | |
@store | |
def name69(): | |
pass | |
@store | |
def name70(): | |
pass | |
@store | |
def name71(): | |
pass | |
@store | |
def name72(): | |
pass | |
@store | |
def name73(): | |
pass | |
@store | |
def name74(): | |
pass | |
@store | |
def name75(): | |
pass | |
@store | |
def name76(): | |
pass | |
@store | |
def name77(): | |
pass | |
@store | |
def name78(): | |
pass | |
@store | |
def name79(): | |
pass | |
@store | |
def name80(): | |
pass | |
@store | |
def name81(): | |
pass | |
@store | |
def name82(): | |
pass | |
@store | |
def name83(): | |
pass | |
@store | |
def name84(): | |
pass | |
@store | |
def name85(): | |
pass | |
@store | |
def name86(): | |
pass | |
@store | |
def name87(): | |
pass | |
@store | |
def name88(): | |
pass | |
@store | |
def name89(): | |
pass | |
@store | |
def name90(): | |
pass | |
@store | |
def name91(): | |
pass | |
@store | |
def name92(): | |
pass | |
@store | |
def name93(): | |
pass | |
@store | |
def name94(): | |
pass | |
@store | |
def name95(): | |
pass | |
@store | |
def name96(): | |
pass | |
@store | |
def name97(): | |
pass | |
@store | |
def name98(): | |
pass | |
@store | |
def name99(): | |
pass | |
@store | |
def name100(): | |
pass |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from collections import defaultdict | |
import inspect | |
import sys | |
def store(func): | |
module = sys.modules[func.__module__] | |
if not hasattr(module, '_store'): | |
module._store = defaultdict(list) | |
module._store['functions'].append(func) | |
return func | |
def tag(func): | |
func._tagged = True | |
return func | |
def find_by_tag(module): | |
return tuple(inspect.getmembers(module, lambda x: hasattr(x, '_tagged'))) | |
def find_from_store(module): | |
return module._store['functions'] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from strategies import tag | |
@tag | |
def name0(): | |
pass | |
@tag | |
def name1(): | |
pass | |
@tag | |
def name2(): | |
pass | |
@tag | |
def name3(): | |
pass | |
@tag | |
def name4(): | |
pass | |
@tag | |
def name5(): | |
pass | |
@tag | |
def name6(): | |
pass | |
@tag | |
def name7(): | |
pass | |
@tag | |
def name8(): | |
pass | |
@tag | |
def name9(): | |
pass | |
@tag | |
def name10(): | |
pass | |
@tag | |
def name11(): | |
pass | |
@tag | |
def name12(): | |
pass | |
@tag | |
def name13(): | |
pass | |
@tag | |
def name14(): | |
pass | |
@tag | |
def name15(): | |
pass | |
@tag | |
def name16(): | |
pass | |
@tag | |
def name17(): | |
pass | |
@tag | |
def name18(): | |
pass | |
@tag | |
def name19(): | |
pass | |
@tag | |
def name20(): | |
pass | |
@tag | |
def name21(): | |
pass | |
@tag | |
def name22(): | |
pass | |
@tag | |
def name23(): | |
pass | |
@tag | |
def name24(): | |
pass | |
@tag | |
def name25(): | |
pass | |
@tag | |
def name26(): | |
pass | |
@tag | |
def name27(): | |
pass | |
@tag | |
def name28(): | |
pass | |
@tag | |
def name29(): | |
pass | |
@tag | |
def name30(): | |
pass | |
@tag | |
def name31(): | |
pass | |
@tag | |
def name32(): | |
pass | |
@tag | |
def name33(): | |
pass | |
@tag | |
def name34(): | |
pass | |
@tag | |
def name35(): | |
pass | |
@tag | |
def name36(): | |
pass | |
@tag | |
def name37(): | |
pass | |
@tag | |
def name38(): | |
pass | |
@tag | |
def name39(): | |
pass | |
@tag | |
def name40(): | |
pass | |
@tag | |
def name41(): | |
pass | |
@tag | |
def name42(): | |
pass | |
@tag | |
def name43(): | |
pass | |
@tag | |
def name44(): | |
pass | |
@tag | |
def name45(): | |
pass | |
@tag | |
def name46(): | |
pass | |
@tag | |
def name47(): | |
pass | |
@tag | |
def name48(): | |
pass | |
@tag | |
def name49(): | |
pass | |
@tag | |
def name50(): | |
pass | |
@tag | |
def name51(): | |
pass | |
@tag | |
def name52(): | |
pass | |
@tag | |
def name53(): | |
pass | |
@tag | |
def name54(): | |
pass | |
@tag | |
def name55(): | |
pass | |
@tag | |
def name56(): | |
pass | |
@tag | |
def name57(): | |
pass | |
@tag | |
def name58(): | |
pass | |
@tag | |
def name59(): | |
pass | |
@tag | |
def name60(): | |
pass | |
@tag | |
def name61(): | |
pass | |
@tag | |
def name62(): | |
pass | |
@tag | |
def name63(): | |
pass | |
@tag | |
def name64(): | |
pass | |
@tag | |
def name65(): | |
pass | |
@tag | |
def name66(): | |
pass | |
@tag | |
def name67(): | |
pass | |
@tag | |
def name68(): | |
pass | |
@tag | |
def name69(): | |
pass | |
@tag | |
def name70(): | |
pass | |
@tag | |
def name71(): | |
pass | |
@tag | |
def name72(): | |
pass | |
@tag | |
def name73(): | |
pass | |
@tag | |
def name74(): | |
pass | |
@tag | |
def name75(): | |
pass | |
@tag | |
def name76(): | |
pass | |
@tag | |
def name77(): | |
pass | |
@tag | |
def name78(): | |
pass | |
@tag | |
def name79(): | |
pass | |
@tag | |
def name80(): | |
pass | |
@tag | |
def name81(): | |
pass | |
@tag | |
def name82(): | |
pass | |
@tag | |
def name83(): | |
pass | |
@tag | |
def name84(): | |
pass | |
@tag | |
def name85(): | |
pass | |
@tag | |
def name86(): | |
pass | |
@tag | |
def name87(): | |
pass | |
@tag | |
def name88(): | |
pass | |
@tag | |
def name89(): | |
pass | |
@tag | |
def name90(): | |
pass | |
@tag | |
def name91(): | |
pass | |
@tag | |
def name92(): | |
pass | |
@tag | |
def name93(): | |
pass | |
@tag | |
def name94(): | |
pass | |
@tag | |
def name95(): | |
pass | |
@tag | |
def name96(): | |
pass | |
@tag | |
def name97(): | |
pass | |
@tag | |
def name98(): | |
pass | |
@tag | |
def name99(): | |
pass | |
@tag | |
def name100(): | |
pass |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from importlib import import_module | |
import pytest | |
from strategies import find_by_tag, find_from_store | |
import store | |
import tag | |
@pytest.mark.parametrize( | |
'module,strategy', | |
((tag, find_by_tag), (store, find_from_store)), | |
ids=('tag', 'store') | |
) | |
def test_strategies(benchmark, module, strategy): | |
result = benchmark(strategy, module) | |
assert len(result) > 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment