from types import SimpleNamespace from app.services.continuous_die import ( CONTINUOUS_DIE_STAMPING_METHOD, is_continuous_die_stamping_method, ) from app.services.serializers import product_option def test_continuous_die_stamping_method_is_trimmed_exact_match(): assert CONTINUOUS_DIE_STAMPING_METHOD == "连续模" assert is_continuous_die_stamping_method("连续模") is True assert is_continuous_die_stamping_method(" 连续模 ") is True assert is_continuous_die_stamping_method("连续模具") is False assert is_continuous_die_stamping_method("清洗") is False assert is_continuous_die_stamping_method(None) is False def test_product_option_marks_continuous_die(): product = SimpleNamespace( attendance_point_name="嘉恒", project_no="P001", product_name="测试产品", profile_no=None, material_code=None, material_name=None, supplier=None, product_net_weight_kg=None, product_gross_weight_kg=None, scrap_loss_rate=None, waste_price_yuan_per_kg=None, device_no="", process_name="1", stamping_method=" 连续模 ", operator_count=1, process_unit_price_yuan=0, standard_beat=10, standard_workload=0, ) option = product_option(product) assert option.stamping_method == " 连续模 " assert option.is_continuous_die is True assert option.is_cleaning is False