Snapshot: new training tasks (balanced generation), docs
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
138
tasks_gen/train/G1956/hidden/cobbler_hidden.clas.abap
Normal file
138
tasks_gen/train/G1956/hidden/cobbler_hidden.clas.abap
Normal file
@@ -0,0 +1,138 @@
|
||||
CLASS {{p}}cobbler_hidden DEFINITION PUBLIC FINAL CREATE PUBLIC
|
||||
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
|
||||
|
||||
PUBLIC SECTION.
|
||||
INTERFACES {{p}}if_cobbler.
|
||||
|
||||
PRIVATE SECTION.
|
||||
DATA mo_cut TYPE REF TO {{p}}if_cobbler.
|
||||
|
||||
METHODS setup.
|
||||
METHODS service_codes FOR TESTING.
|
||||
METHODS reason_codes FOR TESTING.
|
||||
METHODS rule_values FOR TESTING.
|
||||
METHODS base_prices FOR TESTING.
|
||||
METHODS reason_type FOR TESTING.
|
||||
METHODS service_type FOR TESTING.
|
||||
METHODS amount_type FOR TESTING.
|
||||
METHODS order_type FOR TESTING.
|
||||
METHODS check_call FOR TESTING.
|
||||
METHODS price_call FOR TESTING.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}cobbler_hidden IMPLEMENTATION.
|
||||
|
||||
METHOD {{p}}if_cobbler~check.
|
||||
rv_reason = {{p}}if_cobbler=>c_reason-ok.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD {{p}}if_cobbler~price.
|
||||
rv_price = 0.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD setup.
|
||||
mo_cut = me.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD service_codes.
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'HEEL'
|
||||
act = {{p}}if_cobbler=>c_service-heel ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'SOLE'
|
||||
act = {{p}}if_cobbler=>c_service-sole ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'SEAM'
|
||||
act = {{p}}if_cobbler=>c_service-seam ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'POLI'
|
||||
act = {{p}}if_cobbler=>c_service-polish ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD reason_codes.
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'OK'
|
||||
act = {{p}}if_cobbler=>c_reason-ok ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'SERVICE'
|
||||
act = {{p}}if_cobbler=>c_reason-service ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'PAIRS'
|
||||
act = {{p}}if_cobbler=>c_reason-pairs ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD rule_values.
|
||||
DATA lv_min_order TYPE {{p}}if_cobbler=>ty_amount.
|
||||
lv_min_order = '8.00'.
|
||||
cl_abap_unit_assert=>assert_equals( exp = 12
|
||||
act = {{p}}if_cobbler=>c_rule-max_pairs ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 40
|
||||
act = {{p}}if_cobbler=>c_rule-express_percent ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 10
|
||||
act = {{p}}if_cobbler=>c_rule-member_percent ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = lv_min_order
|
||||
act = {{p}}if_cobbler=>c_rule-min_order ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD base_prices.
|
||||
DATA lv_exp TYPE {{p}}if_cobbler=>ty_amount.
|
||||
lv_exp = '12.50'.
|
||||
cl_abap_unit_assert=>assert_equals( exp = lv_exp
|
||||
act = {{p}}if_cobbler=>c_base_price-heel ).
|
||||
lv_exp = '25.00'.
|
||||
cl_abap_unit_assert=>assert_equals( exp = lv_exp
|
||||
act = {{p}}if_cobbler=>c_base_price-sole ).
|
||||
lv_exp = '8.00'.
|
||||
cl_abap_unit_assert=>assert_equals( exp = lv_exp
|
||||
act = {{p}}if_cobbler=>c_base_price-seam ).
|
||||
lv_exp = '6.50'.
|
||||
cl_abap_unit_assert=>assert_equals( exp = lv_exp
|
||||
act = {{p}}if_cobbler=>c_base_price-polish ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD reason_type.
|
||||
DATA(lo_elem) = CAST cl_abap_elemdescr(
|
||||
cl_abap_typedescr=>describe_by_name( '{{P}}IF_COBBLER=>TY_REASON' ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 10 act = lo_elem->length ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD service_type.
|
||||
DATA(lo_elem) = CAST cl_abap_elemdescr(
|
||||
cl_abap_typedescr=>describe_by_name( '{{P}}IF_COBBLER=>TY_SERVICE' ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 4 act = lo_elem->length ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD amount_type.
|
||||
DATA(lo_elem) = CAST cl_abap_elemdescr(
|
||||
cl_abap_typedescr=>describe_by_name( '{{P}}IF_COBBLER=>TY_AMOUNT' ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 8 act = lo_elem->length ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 2 act = lo_elem->decimals ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD order_type.
|
||||
DATA(lo_struct) = CAST cl_abap_structdescr(
|
||||
cl_abap_typedescr=>describe_by_name( '{{P}}IF_COBBLER=>TY_ORDER' ) ).
|
||||
DATA(lt_component) = lo_struct->get_components( ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 4 act = lines( lt_component ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'SERVICE' act = lt_component[ 1 ]-name ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'PAIRS' act = lt_component[ 2 ]-name ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'EXPRESS' act = lt_component[ 3 ]-name ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'MEMBER' act = lt_component[ 4 ]-name ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD check_call.
|
||||
DATA ls_order TYPE {{p}}if_cobbler=>ty_order.
|
||||
ls_order-service = {{p}}if_cobbler=>c_service-heel.
|
||||
ls_order-pairs = 2.
|
||||
ls_order-express = abap_true.
|
||||
ls_order-member = abap_false.
|
||||
cl_abap_unit_assert=>assert_equals( exp = {{p}}if_cobbler=>c_reason-ok
|
||||
act = mo_cut->check( ls_order ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD price_call.
|
||||
DATA ls_order TYPE {{p}}if_cobbler=>ty_order.
|
||||
DATA lv_price TYPE {{p}}if_cobbler=>ty_amount.
|
||||
DATA lv_zero TYPE {{p}}if_cobbler=>ty_amount.
|
||||
ls_order-service = {{p}}if_cobbler=>c_service-polish.
|
||||
ls_order-pairs = 1.
|
||||
ls_order-express = abap_false.
|
||||
ls_order-member = abap_false.
|
||||
lv_price = mo_cut->price( ls_order ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = lv_zero act = lv_price ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
Reference in New Issue
Block a user