ecc.py
from unittest import TestCase class ECCTest(TestCase): def test_on_curve(self): prime = 223 a = FieldElement(0, prime) b = FieldElement(7, prime) valid_points = ((192, 105),(17,56),(1,193)) invalid_points = ((200, 119),(42, 99)) for x_raw, y_raw in valid_points: x = FieldElement(x_raw, prime) y = FieldElement(y_raw, prime) Point(x, y, a, b) for x_raw, y_raw in invalid_points: x = FieldElement(x_raw, prime) y = FieldElement(y_raw, prime) with self.assertRaises(ValueError): Point(x, y, a, b)
helper.py
from unittest import TestSuite, TextTestRunner def run(test): suite = TestSuite() suite.addTest(test) TextTestRunner().run(suite)
main.py
import ecc from helper import run run(ecc.ECCTest('test_on_curve'))
$ python3 main.py
.
———————————————————————-
Ran 1 test in 0.000s
OK