test_num.py
876 B · python · 32 lines
1from mrlypy.num import factor, prime, series234def test_factorial(row):5 r = row("num::factor::factorial")6 assert factor.factorial(r["in"]["number"]) == int(r["out"])789def test_gcd(row):10 r = row("num::factor::gcd")11 assert [str(factor.gcd(int(a), int(b))) for a, b in r["in"]["pairs"]] == r["out"]121314def test_divisors(row):15 r = row("num::factor::divisors")16 assert factor.divisors(r["in"]["number"]) == r["out"]171819def test_mobius_sieve(row):20 r = row("num::factor::mobius_sieve")21 assert factor.mobius_sieve(r["in"]["limit"]) == r["out"]222324def test_is_prime(row):25 r = row("num::prime::is_prime")26 kept = [n for n in range(r["in"]["from"], r["in"]["to"] + 1) if prime.is_prime(n)]27 assert kept == r["out"]282930def test_zeta(row):31 r = row("num::series::zeta")32 assert round(series.zeta(r["in"]["s"], r["in"]["terms"]), 12) == r["out"]