refactor: centralize numeric normalization
This commit is contained in:
@@ -6,11 +6,14 @@ import unittest
|
||||
from pathlib import Path
|
||||
|
||||
import sentiment_engine
|
||||
from backend.data.numbers import non_nan_number
|
||||
from backend.features.sentiment import engine as canonical_engine
|
||||
from tests.preservation_helpers import (
|
||||
assert_frontend_runtime_matches_audited_baseline,
|
||||
assert_moved_asset_matches,
|
||||
assert_page_prefix_matches,
|
||||
function_contract,
|
||||
module_contract,
|
||||
)
|
||||
|
||||
|
||||
@@ -94,10 +97,22 @@ class SentimentPoolSliceSourceEquivalenceTests(unittest.TestCase):
|
||||
|
||||
def test_sentiment_engine_is_exact_original_with_legacy_alias(self) -> None:
|
||||
self.assertEqual(
|
||||
sha256(ORIGINAL_ROOT / "sentiment_engine.py"),
|
||||
sha256(APP_ROOT / "backend" / "features" / "sentiment" / "engine.py"),
|
||||
module_contract(
|
||||
ORIGINAL_ROOT / "sentiment_engine.py",
|
||||
excluded_definitions={"_number"},
|
||||
),
|
||||
module_contract(
|
||||
APP_ROOT / "backend" / "features" / "sentiment" / "engine.py",
|
||||
excluded_definitions={"_number"},
|
||||
excluded_import_modules={"backend.data.numbers"},
|
||||
),
|
||||
)
|
||||
self.assertEqual(
|
||||
function_contract(ORIGINAL_ROOT / "sentiment_engine.py", "_number"),
|
||||
function_contract(APP_ROOT / "backend/data/numbers.py", "non_nan_number"),
|
||||
)
|
||||
self.assertIs(sentiment_engine, canonical_engine)
|
||||
self.assertIs(canonical_engine._number, non_nan_number)
|
||||
|
||||
def test_api_and_frontend_assets_are_unchanged(self) -> None:
|
||||
self.assertEqual(
|
||||
|
||||
Reference in New Issue
Block a user