def test_strings(): x = strategy(s.strings(u'a')).example() assert set(x).issubset(set(u'a'))
def test_empty_strings(): assert strategy(s.strings(u'')).example() == u''
TestRandom = strategy_test_suite(Random) TestInts = strategy_test_suite(int) TestBoolLists = strategy_test_suite([bool]) TestDictionaries = strategy_test_suite(dictionary((int, int), bool)) TestOrderedDictionaries = strategy_test_suite( dictionary(int, int, OrderedDict) ) TestString = strategy_test_suite(text_type) BinaryString = strategy_test_suite(binary_type) TestIntBool = strategy_test_suite((int, bool)) TestFloats = strategy_test_suite(float) TestComplex = strategy_test_suite(complex) TestJust = strategy_test_suite(just('hi')) TestTemplates = strategy_test_suite(TemplatesFor({int})) TestEmptyString = strategy_test_suite(strings(alphabet='')) TestSingleString = strategy_test_suite(strings(alphabet='a')) TestManyString = strategy_test_suite(strings(alphabet='abcdef☃')) Stuff = namedtuple('Stuff', ('a', 'b')) TestNamedTuple = strategy_test_suite(Stuff(int, int)) TestTrees = strategy_test_suite(NAryTree(int, int, int)) TestMixedSets = strategy_test_suite({int, bool, float}) TestFrozenSets = strategy_test_suite(frozenset({bool})) TestNestedSets = strategy_test_suite(frozenset({frozenset({complex})})) TestMisc1 = strategy_test_suite({(2, -374): frozenset({None})}) TestMisc2 = strategy_test_suite({b'': frozenset({int})})
one_of((integers_in_range(1, 10), integers_in_range(8, 15)))) TestRandom = strategy_test_suite(Random) TestInts = strategy_test_suite(int) TestBoolLists = strategy_test_suite([bool]) TestDictionaries = strategy_test_suite(dictionary((int, int), bool)) TestOrderedDictionaries = strategy_test_suite(dictionary( int, int, OrderedDict)) TestString = strategy_test_suite(text_type) BinaryString = strategy_test_suite(binary_type) TestIntBool = strategy_test_suite((int, bool)) TestFloats = strategy_test_suite(float) TestComplex = strategy_test_suite(complex) TestJust = strategy_test_suite(just('hi')) TestTemplates = strategy_test_suite(TemplatesFor({int})) TestEmptyString = strategy_test_suite(strings(alphabet='')) TestSingleString = strategy_test_suite(strings(alphabet='a')) TestManyString = strategy_test_suite(strings(alphabet='abcdef☃')) Stuff = namedtuple('Stuff', ('a', 'b')) TestNamedTuple = strategy_test_suite(Stuff(int, int)) TestTrees = strategy_test_suite(NAryTree(int, int, int)) TestMixedSets = strategy_test_suite({int, bool, float}) TestFrozenSets = strategy_test_suite(frozenset({bool})) TestNestedSets = strategy_test_suite(frozenset({frozenset({complex})})) TestMisc1 = strategy_test_suite({(2, -374): frozenset({None})}) TestMisc2 = strategy_test_suite({b'': frozenset({int})})
pass Litter = namedtuple('Litter', ('kitten1', 'kitten2')) @given(Litter(int, int)) def test_named_tuples_are_of_right_type(litter): assert isinstance(litter, Litter) @fails_with(AttributeError) @given(strategy(int).map(lambda x: x.nope)) def test_fails_in_reify(x): pass @given(strings('a')) def test_a_strings(x): assert set(x).issubset({'a'}) @given(strings('')) def test_empty_strings(x): assert not x @given(strings('abcdefg')) def test_mixed_strings(x): assert set(x).issubset(set('abcdefg'))
Litter = namedtuple('Litter', ('kitten1', 'kitten2')) @given(Litter(int, int)) def test_named_tuples_are_of_right_type(litter): assert isinstance(litter, Litter) @fails_with(AttributeError) @given(strategy(int).map(lambda x: x.nope)) def test_fails_in_reify(x): pass @given(strings('a')) def test_a_strings(x): assert set(x).issubset({'a'}) @given(strings('')) def test_empty_strings(x): assert not x @given(strings('abcdefg')) def test_mixed_strings(x): assert set(x).issubset(set('abcdefg')) def test_when_set_to_no_simplifies_only_runs_failing_example_once():
import pickle import string import sys import datrie # This is ugly, but hypothesis only supports Python2.7+ at the moment. if sys.version_info[:2] >= (2, 7): from hypothesis import given, Settings from hypothesis.specifiers import strings # Reduce hypothesis input size by half. Settings.default.average_list_length = 5.0 printable_strings = [strings(string.printable)] @given(printable_strings) def test_contains(words): trie = datrie.Trie(string.printable) for i, word in enumerate(set(words)): trie[word] = i for i, word in enumerate(set(words)): assert word in trie assert trie[word] == trie.get(word) == i @given(printable_strings) def test_len(words): trie = datrie.Trie(string.printable) for i, word in enumerate(set(words)):