from gaussian_ply_to_splat import convert_gaussian_ply from simam3d_core import write_gaussian_ply from validate_splat import validate_splat def test_validate_splat_accepts_converter_output(tmp_path): source = tmp_path / "source.ply" output = tmp_path / "scene.splat" write_gaussian_ply(source, [[0, 0, 1]], [[120, 140, 160]]) convert_gaussian_ply(source, output) report = validate_splat(output) assert report["vertex_count"] == 1 assert report["record_bytes"] == 32 def test_validate_splat_rejects_truncated_record(tmp_path): path = tmp_path / "broken.splat" path.write_bytes(b"\0" * 31) try: validate_splat(path) except ValueError as exc: assert "divisible" in str(exc) else: raise AssertionError("truncated splat record was accepted")