Files
mathgenerator/tests/test_mathgen.py
2020-10-19 14:08:13 -04:00

48 lines
1.7 KiB
Python

from math import sqrt
from mathgenerator.mathgen import *
from hypothesis import strategies as st, given, assume
@given(maxSum=st.integers(min_value=1), maxAddend=st.integers(min_value=1))
def test_addition(maxSum, maxAddend):
assume(maxSum > maxAddend)
problem, solution = addition.func(maxSum, maxAddend)
assert eval(problem[:-1]) == int(solution)
@given(maxMinuend=st.integers(min_value=1), maxDiff=st.integers(min_value=1))
def test_subtraction(maxMinuend, maxDiff):
assume(maxMinuend > maxDiff)
problem, solution = subtraction.func(maxMinuend, maxDiff)
assert eval(problem[:-1]) == int(solution)
@given(maxRes=st.integers(min_value=1), maxMulti=st.integers(min_value=1))
def test_multiplication(maxRes, maxMulti):
assume(maxRes > maxMulti)
problem, solution = multiplication.func(maxRes, maxMulti)
assert eval(problem[:-1]) == int(solution)
@given(maxRes=st.integers(min_value=1), maxDivid=st.integers(min_value=1))
def test_division(maxRes, maxDivid):
assume(maxRes > maxDivid)
problem, solution = division.func(maxRes, maxDivid)
assert eval(problem[:-1]) == float(solution)
@given(maxRes=st.integers(min_value=1), maxModulo=st.integers(min_value=1))
def test_moduloDivision(maxRes, maxModulo):
assume(maxRes > maxModulo)
problem, solution = moduloDivision.func(maxRes, maxModulo)
assert eval(problem[:-1]) == int(solution)
@given(minNo=st.integers(min_value=1),
maxNo=st.integers(min_value=1, max_value=2**50))
def test_squareRoot(minNo, maxNo):
assume(maxNo > minNo)
problem, solution = squareRoot.func(minNo, maxNo)
assert eval(problem[:-1]) == float(solution)