"""Projection invariants from E题V2: quality weights means, not physical coverage.""" from __future__ import annotations import unittest import numpy as np from . import compare_models as cm class ProjectionCoverageTests(unittest.TestCase): def test_quality_changes_mean_but_not_physical_coverage(self) -> None: values = np.asarray([[0.0], [10.0]], dtype=np.float32) observed = np.ones_like(values, dtype=bool) intervals = np.asarray([[0.0, 0.5], [0.5, 1.0]], dtype=np.float32) qualities = np.asarray([1.0, 1e-8], dtype=np.float32) edges = np.asarray([0.0, 1.0], dtype=np.float32) projected, mask, coverage = cm._project_rows(values, observed, intervals, qualities, edges) self.assertTrue(bool(mask[0, 0])) self.assertAlmostEqual(float(projected[0, 0]), 10.0 * 1e-8 / (1.0 + 1e-8), places=6) self.assertAlmostEqual(float(coverage[0, 0]), 1.0, places=6) if __name__ == "__main__": unittest.main()