36 lines
1.0 KiB
Python
36 lines
1.0 KiB
Python
"""Tests for act.vectors module — Appendix B test vectors."""
|
|
|
|
import pytest
|
|
|
|
from act.vectors import generate_vectors, validate_vectors
|
|
|
|
|
|
class TestVectorGeneration:
|
|
def test_generates_15_vectors(self):
|
|
vectors, ctx = generate_vectors()
|
|
assert len(vectors) == 15
|
|
|
|
def test_vector_ids(self):
|
|
vectors, _ = generate_vectors()
|
|
ids = [v.id for v in vectors]
|
|
expected = [f"B.{i}" for i in range(1, 16)]
|
|
assert ids == expected
|
|
|
|
def test_valid_vectors_have_compact(self):
|
|
vectors, _ = generate_vectors()
|
|
for v in vectors:
|
|
if v.valid and v.id != "B.7":
|
|
assert v.compact, f"{v.id} should have compact"
|
|
|
|
def test_invalid_vectors_have_exception(self):
|
|
vectors, _ = generate_vectors()
|
|
for v in vectors:
|
|
if not v.valid:
|
|
assert v.expected_exception is not None, \
|
|
f"{v.id} should have expected_exception"
|
|
|
|
|
|
class TestVectorValidation:
|
|
def test_all_vectors_pass(self):
|
|
assert validate_vectors() is True
|