Exemple #1
0
    def test_unseeded_randomizer(self):
        # provide a seed to get consistent results
        pattern = r"[\w]{10}&([\d]{10}|M3W9MF_lH3906I14O50)"

        sg = SG(pattern)
        s1 = sg.render()
        sg = SG(pattern)
        s2 = sg.render()
        assert s1 != s2

        sg = SG(pattern)
        list1 = sg.render_list(100)
        sg = SG(pattern)
        list2 = sg.render_list(100)
        assert collections.Counter(list1) != collections.Counter(list2)
Exemple #2
0
    def test_seeded_randomizer(self):
        # provide a seed to get consistent results
        pattern = r"[\w]{10}&([\d]{10}|M3W9MF_lH3906I14O50)"

        for seed in [random.randint(1, 100000000) for _ in range(100)]:
            sg = SG(pattern, seed=seed)
            s1 = sg.render()
            sg = SG(pattern, seed=seed)
            s2 = sg.render()
            assert s1 == s2

            sg = SG(pattern, seed=seed)
            list1 = sg.render_list(100)
            sg = SG(pattern, seed=seed)
            list2 = sg.render_list(100)
            assert collections.Counter(list1) == collections.Counter(list2)
Exemple #3
0
print("Standard method - StringGenerator (complex): %s (%s%%)" % (str(
    (case1 - case2)), str(round(100 * (case1 - case2) / case1, 2))))

from strgen import StringGenerator as SGPIP
import time
import imp
strgen = imp.load_source('strgen', 'strgen/__init__.py')

sg1 = strgen.StringGenerator('[\d]{100}')
sg2 = SGPIP('[\d]{100}')

s = time.time()
for i in xrange(10000):
    sg1.render()
c1 = time.time() - s

print("StringGenerator: %s seconds" % round(c1, 2))

s = time.time()
for i in xrange(10000):
    sg2.render()
c2 = time.time() - s

print("StringGenerator PIP: %s seconds" % round(c2, 2))
"""
from strgen import StringGenerator as SG
import dis
SG('[\d]')
dis.dis(SG.render)
"""
Exemple #4
0
 def test_custom_randomizer(self):
     pattern = r"[\w]{10}&([\d]{10}|M3W9MF_lH3906I14O50)"
     sg = SG(pattern, randomizer=CustomRandomizer())
     assert len(sg.render())
Exemple #5
0
 def test_custom_bad_randomizer(self):
     pattern = r"[\w]{10}&([\d]{10}|M3W9MF_lH3906I14O50)"
     sg = SG(pattern, randomizer=CustomBadRandomizer())
     self.assertRaises(Exception, lambda: sg.render())
Exemple #6
0
from strgen import StringGenerator as SGPIP
import time
import imp
strgen = imp.load_source('strgen', 'strgen/__init__.py')

sg1 = strgen.StringGenerator('[\d]{100}')
sg2 = SGPIP('[\d]{100}')

s = time.time()
for i in xrange(10000):
    sg1.render()
c1 = time.time() - s

print("StringGenerator: %s seconds" % round(c1, 2))

s = time.time()
for i in xrange(10000):
    sg2.render()
c2 = time.time() - s

print("StringGenerator PIP: %s seconds" % round(c2, 2))


"""
from strgen import StringGenerator as SG
import dis
SG('[\d]')
dis.dis(SG.render)
"""