| | import math
|
| |
|
| | from demo import Vector, polygon_area, generate_random_polygon, apply_ops
|
| | from pipeline import compose_demo_pipeline
|
| | from alphageometry.transformer_demo import demo_attention_run
|
| |
|
| |
|
| | def test_vector_area_centroid_convex():
|
| | pts = [Vector(0, 0), Vector(1, 0), Vector(0, 1)]
|
| | area = polygon_area(pts)
|
| | assert math.isclose(area, 0.5, rel_tol=1e-9)
|
| |
|
| |
|
| | def test_generate_random_polygon_deterministic():
|
| | p1 = generate_random_polygon(5, radius=2.0, seed=123)
|
| | p2 = generate_random_polygon(5, radius=2.0, seed=123)
|
| | assert all(math.isclose(a.x, b.x) and math.isclose(a.y, b.y) for a, b in zip(p1, p2))
|
| |
|
| |
|
| | def test_apply_ops_length():
|
| | res = apply_ops(1.0, 2.0)
|
| | assert len(res) == 200
|
| |
|
| |
|
| | def test_pipeline_demo_smoke():
|
| | p = compose_demo_pipeline()
|
| | out = p.run([0.0, 1.0, -1.0, 2.0, -2.0])
|
| | assert isinstance(out, list)
|
| |
|
| |
|
| | def test_transformer_demo_attention():
|
| | out = demo_attention_run()
|
| |
|
| | assert len(out) == 2 and len(out[0]) == 2
|
| | assert all(math.isfinite(x) for row in out for x in row)
|
| |
|