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"]