Files
abap-llm/tasks_gen/train/G1945/hidden/t21_hidden.clas.abap
2026-10-05 22:08:59 +02:00

112 lines
3.8 KiB
ABAP

CLASS {{p}}t21_hidden DEFINITION PUBLIC FINAL CREATE PUBLIC
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
PRIVATE SECTION.
METHODS strip_period
IMPORTING iv_text TYPE string
RETURNING VALUE(rv_text) TYPE string.
METHODS blocked_order FOR TESTING.
METHODS part_not_in_stock FOR TESTING.
METHODS invalid_quantity FOR TESTING.
METHODS load_limit_warning FOR TESTING.
METHODS released_info FOR TESTING.
METHODS exception_text FOR TESTING.
METHODS exception_attributes FOR TESTING.
METHODS exception_is_static_check FOR TESTING.
ENDCLASS.
CLASS {{p}}t21_hidden IMPLEMENTATION.
METHOD strip_period.
rv_text = iv_text.
DATA(lv_len) = strlen( rv_text ).
IF lv_len > 1.
DATA(lv_last) = substring( val = rv_text off = lv_len - 1 len = 1 ).
IF lv_last = '.'.
rv_text = substring( val = rv_text len = lv_len - 1 ).
ENDIF.
ENDIF.
ENDMETHOD.
METHOD blocked_order.
DATA lv_p1 TYPE string VALUE 'SO-4711'.
DATA lv_p2 TYPE string VALUE 'Permit missing'.
DATA lv_text TYPE string.
MESSAGE ID '{{P}}SCAF_MSG' TYPE 'E' NUMBER '001'
WITH lv_p1 lv_p2 INTO lv_text.
cl_abap_unit_assert=>assert_equals(
exp = 'Scaffolding order SO-4711 is blocked: Permit missing'
act = strip_period( lv_text ) ).
ENDMETHOD.
METHOD part_not_in_stock.
DATA lv_p1 TYPE string VALUE 'STD-200'.
DATA lv_text TYPE string.
MESSAGE ID '{{P}}SCAF_MSG' TYPE 'E' NUMBER '002'
WITH lv_p1 INTO lv_text.
cl_abap_unit_assert=>assert_equals(
exp = 'Scaffold part STD-200 is not in stock'
act = strip_period( lv_text ) ).
ENDMETHOD.
METHOD invalid_quantity.
DATA lv_p1 TYPE string VALUE '0'.
DATA lv_p2 TYPE string VALUE 'STD-200'.
DATA lv_text TYPE string.
MESSAGE ID '{{P}}SCAF_MSG' TYPE 'E' NUMBER '003'
WITH lv_p1 lv_p2 INTO lv_text.
cl_abap_unit_assert=>assert_equals(
exp = 'Quantity 0 is not valid for part STD-200'
act = strip_period( lv_text ) ).
ENDMETHOD.
METHOD load_limit_warning.
DATA lv_p1 TYPE string VALUE 'SO-4712'.
DATA lv_p2 TYPE string VALUE '750'.
DATA lv_text TYPE string.
MESSAGE ID '{{P}}SCAF_MSG' TYPE 'W' NUMBER '004'
WITH lv_p1 lv_p2 INTO lv_text.
cl_abap_unit_assert=>assert_equals(
exp = 'Order SO-4712 exceeds the load limit of 750 kg'
act = strip_period( lv_text ) ).
ENDMETHOD.
METHOD released_info.
DATA lv_p1 TYPE string VALUE 'SO-4713'.
DATA lv_p2 TYPE string VALUE 'North Gate'.
DATA lv_text TYPE string.
MESSAGE ID '{{P}}SCAF_MSG' TYPE 'I' NUMBER '005'
WITH lv_p1 lv_p2 INTO lv_text.
cl_abap_unit_assert=>assert_equals(
exp = 'Order SO-4713 was released for site North Gate'
act = strip_period( lv_text ) ).
ENDMETHOD.
METHOD exception_text.
DATA(lo_exception) = NEW {{p}}cx_scaf_order(
iv_order_id = 'SO-4711'
iv_reason = 'Permit missing' ).
cl_abap_unit_assert=>assert_equals(
exp = 'Scaffolding order SO-4711 is blocked: Permit missing'
act = strip_period( lo_exception->get_message( ) ) ).
ENDMETHOD.
METHOD exception_attributes.
DATA(lo_exception) = NEW {{p}}cx_scaf_order(
iv_order_id = 'SO-99'
iv_reason = 'Late delivery' ).
cl_abap_unit_assert=>assert_equals( exp = 'SO-99' act = lo_exception->order_id ).
cl_abap_unit_assert=>assert_equals( exp = 'Late delivery' act = lo_exception->reason ).
ENDMETHOD.
METHOD exception_is_static_check.
DATA(lo_exception) = NEW {{p}}cx_scaf_order(
iv_order_id = 'SO-1'
iv_reason = 'Test' ).
DATA lv_is_static TYPE abap_bool.
IF lo_exception IS INSTANCE OF cx_static_check.
lv_is_static = abap_true.
ENDIF.
cl_abap_unit_assert=>assert_equals( exp = abap_true act = lv_is_static ).
ENDMETHOD.
ENDCLASS.