Snapshot: new training tasks (balanced generation), docs
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
87
tasks_gen/train/G1945/reference/t21_test.clas.abap
Normal file
87
tasks_gen/train/G1945/reference/t21_test.clas.abap
Normal file
@@ -0,0 +1,87 @@
|
||||
CLASS {{p}}t21_test 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_message FOR TESTING.
|
||||
METHODS stock_message FOR TESTING.
|
||||
METHODS warning_message FOR TESTING.
|
||||
METHODS info_message FOR TESTING.
|
||||
METHODS exception_message FOR TESTING.
|
||||
METHODS exception_attributes FOR TESTING.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}t21_test 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_message.
|
||||
DATA lv_order TYPE string VALUE 'SO-100'.
|
||||
DATA lv_reason TYPE string VALUE 'Missing permit'.
|
||||
DATA lv_text TYPE string.
|
||||
MESSAGE ID '{{P}}SCAF_MSG' TYPE 'E' NUMBER '001'
|
||||
WITH lv_order lv_reason INTO lv_text.
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
exp = 'Scaffolding order SO-100 is blocked: Missing permit'
|
||||
act = strip_period( lv_text ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD stock_message.
|
||||
DATA lv_part TYPE string VALUE 'STD-300'.
|
||||
DATA lv_text TYPE string.
|
||||
MESSAGE ID '{{P}}SCAF_MSG' TYPE 'E' NUMBER '002'
|
||||
WITH lv_part INTO lv_text.
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
exp = 'Scaffold part STD-300 is not in stock'
|
||||
act = strip_period( lv_text ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD warning_message.
|
||||
DATA lv_order TYPE string VALUE 'SO-101'.
|
||||
DATA lv_limit TYPE string VALUE '900'.
|
||||
DATA lv_text TYPE string.
|
||||
MESSAGE ID '{{P}}SCAF_MSG' TYPE 'W' NUMBER '004'
|
||||
WITH lv_order lv_limit INTO lv_text.
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
exp = 'Order SO-101 exceeds the load limit of 900 kg'
|
||||
act = strip_period( lv_text ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD info_message.
|
||||
DATA lv_order TYPE string VALUE 'SO-102'.
|
||||
DATA lv_site TYPE string VALUE 'South Gate'.
|
||||
DATA lv_text TYPE string.
|
||||
MESSAGE ID '{{P}}SCAF_MSG' TYPE 'I' NUMBER '005'
|
||||
WITH lv_order lv_site INTO lv_text.
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
exp = 'Order SO-102 was released for site South Gate'
|
||||
act = strip_period( lv_text ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD exception_message.
|
||||
DATA(lo_exception) = NEW {{p}}cx_scaf_order(
|
||||
iv_order_id = 'SO-100'
|
||||
iv_reason = 'Missing permit' ).
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
exp = 'Scaffolding order SO-100 is blocked: Missing permit'
|
||||
act = strip_period( lo_exception->get_message( ) ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD exception_attributes.
|
||||
DATA(lo_exception) = NEW {{p}}cx_scaf_order(
|
||||
iv_order_id = 'SO-100'
|
||||
iv_reason = 'Missing permit' ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'SO-100' act = lo_exception->order_id ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'Missing permit' act = lo_exception->reason ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
Reference in New Issue
Block a user