112 lines
3.8 KiB
ABAP
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.
|