diff options
| author | J08nY | 2018-12-15 17:11:33 +0100 |
|---|---|---|
| committer | J08nY | 2019-03-21 11:00:14 +0100 |
| commit | 618426e9010c7966751b8e24b99a20f59692b60c (patch) | |
| tree | a3677613c653b04830380c4147270917c53150bc /test/ec | |
| parent | bec2c56a86ce1d0b2285aaed50726fbdba42d620 (diff) | |
| download | pyecsca-618426e9010c7966751b8e24b99a20f59692b60c.tar.gz pyecsca-618426e9010c7966751b8e24b99a20f59692b60c.tar.zst pyecsca-618426e9010c7966751b8e24b99a20f59692b60c.zip | |
Add more tests and cleanup some typing errors.
Diffstat (limited to 'test/ec')
| -rw-r--r-- | test/ec/test_mod.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/test/ec/test_mod.py b/test/ec/test_mod.py new file mode 100644 index 0000000..6e4cfbf --- /dev/null +++ b/test/ec/test_mod.py @@ -0,0 +1,30 @@ +from unittest import TestCase + +from pyecsca.ec.mod import Mod, gcd, extgcd + + +class ModTests(TestCase): + + def test_gcd(self): + self.assertEqual(gcd(15, 20), 5) + self.assertEqual(extgcd(15, 20), (-1, 1, 5)) + + def test_wrong_mod(self): + a = Mod(5, 7) + b = Mod(4, 11) + with self.assertRaises(ValueError): + a + b + + def test_other(self): + a = Mod(5, 7) + b = Mod(3, 7) + self.assertEqual(int(-a), 2) + self.assertEqual(str(a), "5") + self.assertEqual(6 - a, Mod(1, 7)) + self.assertNotEqual(a, b) + self.assertEqual(a / b, Mod(4, 7)) + self.assertEqual(a // b, Mod(4, 7)) + self.assertEqual(5 / b, Mod(4, 7)) + self.assertEqual(5 // b, Mod(4, 7)) + self.assertEqual(divmod(a, b), (Mod(1, 7), Mod(2, 7))) + self.assertNotEqual(a, 6)
\ No newline at end of file |
