Example #1
0
class TestGen(unittest.TestCase):
    def setUp(self):
        self.qc = QuickCheck()

    def test_collector(self):
        matrix = {}

        @self.qc.forall("First property")
        def prop(x: int):
            matrix["first"] = True
            return True

        @self.qc.forall("Second property")
        def prop(x: int):
            matrix["second"] = True
            return True

        self.assertEqual(len(self.qc.experiments), 2)

        self.qc.verify()

        self.assertEqual(matrix, {"first": True, "second": True})
Example #2
0
class TestGen(unittest.TestCase):

    def setUp(self):
        self.qc = QuickCheck()

    def test_collector(self):
        matrix = {}

        @self.qc.forall('First property')
        def prop(x: int):
            matrix['first'] = True
            return True

        @self.qc.forall('Second property')
        def prop(x: int):
            matrix['second'] = True
            return True

        self.assertEqual(len(self.qc.experiments), 2)

        self.qc.verify()

        self.assertEqual(matrix, {'first': True, 'second': True})
Example #3
0
from quick.arbitrary import A
from quick.features import QuickCheck
from quick.generators import number

qc = QuickCheck(max_count=100)


def non_empty_list(el: number, ls: [number]):
    """
    Generator which always returns non empty list
    """
    ls.append(el)
    return ls


@qc.forall("Arbitrary some_of")
def prop(a: A, x: [number]):
    sub_set = a.some_of(x)
    for el in sub_set:
        if el not in x:
            return False

    return True


@qc.forall("For any given list N len(A.some_of(N)) <= len(N)")
def prop(a: A, x: [number]):
    sub_set = a.some_of(x)
    return len(sub_set) <= len(x)

Example #4
0
import unittest
from quick.features import forall, QuickCheck
from quick.generators import *
from quick.arbitrary import A

qc = QuickCheck()


@qc.forall('Maybe generator')
def prop(x: maybe(None)):
    return x is None


TestSpec = qc.as_testcase()
Example #5
0
 def setUp(self):
     self.qc = QuickCheck()
Example #6
0
from quick.features import QuickCheck

qc = QuickCheck()


@qc.forall("Test simplification list", max_count=10)
def prop(x: [int]):
    return len(x) == 3


@qc.forall("Test simplification int", max_count=10)
def prop(x: int, y: int):
    return x + y == 5
Example #7
0
 def setUp(self):
     self.qc = QuickCheck()
Example #8
0
from quick.features import QuickCheck
from quick.generators import number

qc = QuickCheck()


def y_generator(x: bytes):
    return x


@qc.forall("Compostion of annotation")
def prop(x: int, y: y_generator):
    return True


@qc.forall("Int and float")
def prop(x: int, y: float):
    return True


@qc.forall("Radom unicode str")
def prop(x: str):
    return True


@qc.forall("Default values", max_count=100)
def prop(x: int, z=1):
    return abs(x) + 1 > z


@qc("Numbers", max_count=100)