Skip to content

Commit

Permalink
test: add tests for ec_add
Browse files Browse the repository at this point in the history
  • Loading branch information
zmalatrax committed Feb 7, 2025
1 parent 444fb33 commit b93c815
Showing 1 changed file with 32 additions and 0 deletions.
32 changes: 32 additions & 0 deletions python/cairo-ec/tests/test_ec_ops.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,3 +81,35 @@ def test_ec_add(self, cairo_run, curve):
assert p + q == curve(
*[curve.FIELD(uint384_to_int(**i)) for i in res.values()]
)

@given(curve=curve)
def test_ec_add_equal(self, cairo_run, curve):
p = curve.random_point()
q = curve(p.x, p.y)
res = cairo_run(
"test__ec_add",
p=[*int_to_uint384(int(p.x)), *int_to_uint384(int(p.y))],
q=[*int_to_uint384(int(q.x)), *int_to_uint384(int(q.y))],
a=int_to_uint384(int(curve.A)),
g=int_to_uint384(int(curve.G)),
modulus=int_to_uint384(int(curve.FIELD.PRIME)),
)
assert p + q == curve(
*[curve.FIELD(uint384_to_int(**i)) for i in res.values()]
)

@given(curve=curve)
def test_ec_add_opposite(self, cairo_run, curve):
p = curve.random_point()
q = curve(p.x, -p.y)
res = cairo_run(
"test__ec_add",
p=[*int_to_uint384(int(p.x)), *int_to_uint384(int(p.y))],
q=[*int_to_uint384(int(q.x)), *int_to_uint384(int(q.y))],
a=int_to_uint384(int(curve.A)),
g=int_to_uint384(int(curve.G)),
modulus=int_to_uint384(int(curve.FIELD.PRIME)),
)
assert p + q == curve(
*[curve.FIELD(uint384_to_int(**i)) for i in res.values()]
)

0 comments on commit b93c815

Please sign in to comment.