Files

26 lines
614 B
Python

import sys, os
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
from egcd import egcd, gcd, lcm
def test_basic():
assert egcd(30, 12) == (6, -1, 3) or egcd(30,12)[0]==6
assert gcd(30,12)==6
assert lcm(4,6)==12
def test_negatives():
g,x,y = egcd(-30,12)
assert g==6 and -30*x + 12*y == g
def test_zero():
assert gcd(0,5)==5
assert gcd(5,0)==5
assert lcm(0,5)==0
def test_identity():
g,x,y = egcd(17,31)
assert g==1 and 17*x+31*y==1
if __name__=="__main__":
for f in [test_basic,test_negatives,test_zero,test_identity]:
f()
print("ALL PASS")