UniSet 2.45.1
Пространство имен tests.test_codegen_scale

Классы

class  TestScaleFactorInput
class  TestScaleFactorOutput
class  TestScaleFactorIntegerFormat
class  TestScaleFactorE2E

Функции

IRProgram _make_program (str name="Main", list|None inputs=None, list|None outputs=None, list|None locals_=None, list|None body=None)
SensorMapping _make_mapping (list[SensorEntry]|None inputs=None, list[SensorEntry]|None outputs=None)

Переменные

 FIXTURES_DIR = os.path.join(os.path.dirname(__file__), "fixtures")
 SCALE_ST = os.path.join(FIXTURES_DIR, "scale_test.st")
 SCALE_MAPPING = os.path.join(FIXTURES_DIR, "scale_mapping.yaml")

Подробное описание

Tests for scale factor support in codegen (Task 8.1).

Tests cover:
- REAL input with scale factor emits: let varName = in_SensorName / scale;
- REAL output with scale factor emits: out_SensorName = Math.round(varName * scale);
- No scale factor: no division/multiplication wrapping
- Scale factor only applies within uniset_on_step()
- Body uses ST variable names (not in_/out_ prefixed)
- E2E test with scale_test.st + scale_mapping.yaml

Функции

◆ _make_mapping()

SensorMapping tests.test_codegen_scale._make_mapping ( list[SensorEntry] | None inputs = None,
list[SensorEntry] | None outputs = None )
protected
Helper to create a SensorMapping with defaults.

◆ _make_program()

IRProgram tests.test_codegen_scale._make_program ( str name = "Main",
list | None inputs = None,
list | None outputs = None,
list | None locals_ = None,
list | None body = None )
protected
Helper to create an IRProgram with defaults.