def test__gcdn(): """Test the _gcd2 function in samplefile""" from electrolib.sources.samplefile import _gcdn, _gcd2 assert _gcdn(1) == 1 assert _gcdn(12, 8) == 4 assert _gcdn(7, 13, 5) == 1 assert _gcdn(10, 50, 105) == 5 for n in range(-10, 10): assert _gcdn(n) == abs(n) assert _gcdn(-n) == _gcdn(n) for n in range(-10, 10): for m in range(-10, 10): assert _gcdn(n, m) == _gcd2(m, n) for n in range(-10, 10): for m in range(-10, 10): for o in range(-10, 10): assert _gcdn(n, m, o) == _gcdn(m, n, o) == _gcdn(n, o, m) ==\ _gcdn(m, o, n) == _gcdn(o, n, m) == _gcdn(o, m, n) assert _gcdn( n, m, o) == _gcdn( n, m,-o) ==\ _gcdn( n,-m, o) == _gcdn( n,-m,-o) ==\ _gcdn(-n, m, o) == _gcdn(-n, m,-o) ==\ _gcdn(-n,-m, o) == _gcdn(-n,-m,-o) if not all([n, m, o]): assert n % _gcdn(n, m, o) == 0 elif not n: assert _gcdn(n, m, o) == _gcdn(m, o) elif not any([n, m, o]): assert _gcdn(n, m, o) == 0 with py.test.raises(TypeError): _gcdn()
def test__gcd2(): """Test the _gcd2 function in samplefile""" from electrolib.sources.samplefile import _gcd2 assert _gcd2(1, 1) == 1 assert _gcd2(12, 8) == 4 assert _gcd2(7, 13) == 1 for n in range(-10, 10): for m in range(-10, 10): assert _gcd2(n, m) == _gcd2(m, n) assert _gcd2(n, m) == _gcd2(n, -m) if n and m: assert n % _gcd2(n, m) == 0 elif not n: assert _gcd2(n, m) == abs(m) elif not m: assert _gcd2(n, m) == abs(n) else: assert _gcd2(n, m) == 0 with py.test.raises(TypeError): _gcd2() with py.test.raises(TypeError): _gcd2(1) with py.test.raises(TypeError): _gcd2(1, 2, 3)