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