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