Stage 2 summary at 50 accepted trajectories
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
145
tasks_gen/train/G1135/faulty/m0_pool_ticket.clas.abap
Normal file
145
tasks_gen/train/G1135/faulty/m0_pool_ticket.clas.abap
Normal file
@@ -0,0 +1,145 @@
|
||||
CLASS {{p}}pool_ticket DEFINITION PUBLIC FINAL CREATE PUBLIC.
|
||||
PUBLIC SECTION.
|
||||
TYPES ty_zone TYPE c LENGTH 2.
|
||||
TYPES ty_rate TYPE c LENGTH 1.
|
||||
TYPES ty_day TYPE c LENGTH 2.
|
||||
TYPES ty_flag TYPE c LENGTH 1.
|
||||
TYPES ty_status TYPE c LENGTH 2.
|
||||
TYPES ty_amount TYPE p LENGTH 8 DECIMALS 2.
|
||||
|
||||
CONSTANTS:
|
||||
BEGIN OF c_status,
|
||||
ok TYPE ty_status VALUE 'OK',
|
||||
zone TYPE ty_status VALUE 'ZN',
|
||||
rate TYPE ty_status VALUE 'RT',
|
||||
day TYPE ty_status VALUE 'DY',
|
||||
END OF c_status.
|
||||
|
||||
CONSTANTS:
|
||||
BEGIN OF c_flag,
|
||||
member TYPE ty_flag VALUE 'X',
|
||||
guest TYPE ty_flag VALUE ' ',
|
||||
END OF c_flag.
|
||||
|
||||
METHODS check_booking
|
||||
IMPORTING iv_zone TYPE ty_zone
|
||||
iv_rate TYPE ty_rate
|
||||
iv_day TYPE ty_day
|
||||
RETURNING VALUE(rv_status) TYPE ty_status.
|
||||
|
||||
METHODS ticket_price
|
||||
IMPORTING iv_zone TYPE ty_zone
|
||||
iv_rate TYPE ty_rate
|
||||
iv_day TYPE ty_day
|
||||
iv_member TYPE ty_flag
|
||||
RETURNING VALUE(rv_price) TYPE ty_amount.
|
||||
|
||||
PRIVATE SECTION.
|
||||
TYPES:
|
||||
BEGIN OF ty_base_price,
|
||||
zone TYPE ty_zone,
|
||||
rate TYPE ty_rate,
|
||||
base TYPE ty_amount,
|
||||
END OF ty_base_price,
|
||||
tt_base_price TYPE HASHED TABLE OF ty_base_price WITH UNIQUE KEY zone rate.
|
||||
|
||||
CONSTANTS c_weekend_surcharge TYPE ty_amount VALUE '2.50'.
|
||||
CONSTANTS c_member_share TYPE i VALUE 80.
|
||||
|
||||
METHODS base_prices
|
||||
RETURNING VALUE(rt_price) TYPE tt_base_price.
|
||||
|
||||
METHODS weekend_surcharge
|
||||
IMPORTING iv_day TYPE ty_day
|
||||
RETURNING VALUE(rv_surcharge) TYPE ty_amount.
|
||||
|
||||
METHODS is_known_zone
|
||||
IMPORTING iv_zone TYPE ty_zone
|
||||
RETURNING VALUE(rv_known) TYPE abap_bool.
|
||||
|
||||
METHODS is_known_rate
|
||||
IMPORTING iv_rate TYPE ty_rate
|
||||
RETURNING VALUE(rv_known) TYPE abap_bool.
|
||||
|
||||
METHODS is_known_day
|
||||
IMPORTING iv_day TYPE ty_day
|
||||
RETURNING VALUE(rv_known) TYPE abap_bool.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}pool_ticket IMPLEMENTATION.
|
||||
METHOD check_booking.
|
||||
IF is_known_zone( iv_zone ) = abap_false.
|
||||
rv_status = c_status-zone.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
IF is_known_rate( iv_rate ) = abap_false.
|
||||
rv_status = c_status-rate.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
IF is_known_day( iv_day ) = abap_true.
|
||||
rv_status = c_status-day.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
rv_status = c_status-ok.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD ticket_price.
|
||||
IF check_booking( iv_zone = iv_zone
|
||||
iv_rate = iv_rate
|
||||
iv_day = iv_day ) <> c_status-ok.
|
||||
rv_price = 0.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
DATA(lt_price) = base_prices( ).
|
||||
READ TABLE lt_price INTO DATA(ls_price)
|
||||
WITH TABLE KEY zone = iv_zone rate = iv_rate.
|
||||
IF sy-subrc <> 0.
|
||||
rv_price = 0.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
rv_price = ls_price-base + weekend_surcharge( iv_day ).
|
||||
IF iv_member = c_flag-member.
|
||||
rv_price = rv_price * c_member_share / 100.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD base_prices.
|
||||
rt_price = VALUE #(
|
||||
( zone = 'IN' rate = 'A' base = '10.00' )
|
||||
( zone = 'IN' rate = 'C' base = '5.00' )
|
||||
( zone = 'IN' rate = 'S' base = '7.50' )
|
||||
( zone = 'OU' rate = 'A' base = '7.50' )
|
||||
( zone = 'OU' rate = 'C' base = '3.75' )
|
||||
( zone = 'OU' rate = 'S' base = '5.00' )
|
||||
( zone = 'SA' rate = 'A' base = '15.00' )
|
||||
( zone = 'SA' rate = 'C' base = '7.50' )
|
||||
( zone = 'SA' rate = 'S' base = '11.25' )
|
||||
( zone = 'AL' rate = 'A' base = '20.00' )
|
||||
( zone = 'AL' rate = 'C' base = '10.00' )
|
||||
( zone = 'AL' rate = 'S' base = '15.00' ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD weekend_surcharge.
|
||||
IF iv_day = 'SA' OR iv_day = 'SU'.
|
||||
rv_surcharge = c_weekend_surcharge.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD is_known_zone.
|
||||
rv_known = xsdbool( iv_zone = 'IN' OR iv_zone = 'OU'
|
||||
OR iv_zone = 'SA' OR iv_zone = 'AL' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD is_known_rate.
|
||||
rv_known = xsdbool( iv_rate = 'A' OR iv_rate = 'C' OR iv_rate = 'S' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD is_known_day.
|
||||
rv_known = xsdbool( iv_day = 'MO' OR iv_day = 'TU' OR iv_day = 'WE'
|
||||
OR iv_day = 'TH' OR iv_day = 'FR' OR iv_day = 'SA'
|
||||
OR iv_day = 'SU' ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
145
tasks_gen/train/G1135/faulty/m2_pool_ticket.clas.abap
Normal file
145
tasks_gen/train/G1135/faulty/m2_pool_ticket.clas.abap
Normal file
@@ -0,0 +1,145 @@
|
||||
CLASS {{p}}pool_ticket DEFINITION PUBLIC FINAL CREATE PUBLIC.
|
||||
PUBLIC SECTION.
|
||||
TYPES ty_zone TYPE c LENGTH 2.
|
||||
TYPES ty_rate TYPE c LENGTH 1.
|
||||
TYPES ty_day TYPE c LENGTH 2.
|
||||
TYPES ty_flag TYPE c LENGTH 1.
|
||||
TYPES ty_status TYPE c LENGTH 2.
|
||||
TYPES ty_amount TYPE p LENGTH 8 DECIMALS 2.
|
||||
|
||||
CONSTANTS:
|
||||
BEGIN OF c_status,
|
||||
ok TYPE ty_status VALUE 'OK',
|
||||
zone TYPE ty_status VALUE 'ZN',
|
||||
rate TYPE ty_status VALUE 'RT',
|
||||
day TYPE ty_status VALUE 'DY',
|
||||
END OF c_status.
|
||||
|
||||
CONSTANTS:
|
||||
BEGIN OF c_flag,
|
||||
member TYPE ty_flag VALUE 'X',
|
||||
guest TYPE ty_flag VALUE ' ',
|
||||
END OF c_flag.
|
||||
|
||||
METHODS check_booking
|
||||
IMPORTING iv_zone TYPE ty_zone
|
||||
iv_rate TYPE ty_rate
|
||||
iv_day TYPE ty_day
|
||||
RETURNING VALUE(rv_status) TYPE ty_status.
|
||||
|
||||
METHODS ticket_price
|
||||
IMPORTING iv_zone TYPE ty_zone
|
||||
iv_rate TYPE ty_rate
|
||||
iv_day TYPE ty_day
|
||||
iv_member TYPE ty_flag
|
||||
RETURNING VALUE(rv_price) TYPE ty_amount.
|
||||
|
||||
PRIVATE SECTION.
|
||||
TYPES:
|
||||
BEGIN OF ty_base_price,
|
||||
zone TYPE ty_zone,
|
||||
rate TYPE ty_rate,
|
||||
base TYPE ty_amount,
|
||||
END OF ty_base_price,
|
||||
tt_base_price TYPE HASHED TABLE OF ty_base_price WITH UNIQUE KEY zone rate.
|
||||
|
||||
CONSTANTS c_weekend_surcharge TYPE ty_amount VALUE '2.50'.
|
||||
CONSTANTS c_member_share TYPE i VALUE 80.
|
||||
|
||||
METHODS base_prices
|
||||
RETURNING VALUE(rt_price) TYPE tt_base_price.
|
||||
|
||||
METHODS weekend_surcharge
|
||||
IMPORTING iv_day TYPE ty_day
|
||||
RETURNING VALUE(rv_surcharge) TYPE ty_amount.
|
||||
|
||||
METHODS is_known_zone
|
||||
IMPORTING iv_zone TYPE ty_zone
|
||||
RETURNING VALUE(rv_known) TYPE abap_bool.
|
||||
|
||||
METHODS is_known_rate
|
||||
IMPORTING iv_rate TYPE ty_rate
|
||||
RETURNING VALUE(rv_known) TYPE abap_bool.
|
||||
|
||||
METHODS is_known_day
|
||||
IMPORTING iv_day TYPE ty_day
|
||||
RETURNING VALUE(rv_known) TYPE abap_bool.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}pool_ticket IMPLEMENTATION.
|
||||
METHOD check_booking.
|
||||
IF is_known_zone( iv_zone ) = abap_false.
|
||||
rv_status = c_status-zone.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
IF is_known_rate( iv_rate ) = abap_false.
|
||||
rv_status = c_status-rate.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
IF is_known_day( iv_day ) = abap_false.
|
||||
rv_status = c_status-day.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
rv_status = c_status-ok.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD ticket_price.
|
||||
IF check_booking( iv_zone = iv_zone
|
||||
iv_rate = iv_rate
|
||||
iv_day = iv_day ) = c_status-ok.
|
||||
rv_price = 0.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
DATA(lt_price) = base_prices( ).
|
||||
READ TABLE lt_price INTO DATA(ls_price)
|
||||
WITH TABLE KEY zone = iv_zone rate = iv_rate.
|
||||
IF sy-subrc <> 0.
|
||||
rv_price = 0.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
rv_price = ls_price-base + weekend_surcharge( iv_day ).
|
||||
IF iv_member = c_flag-member.
|
||||
rv_price = rv_price * c_member_share / 100.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD base_prices.
|
||||
rt_price = VALUE #(
|
||||
( zone = 'IN' rate = 'A' base = '10.00' )
|
||||
( zone = 'IN' rate = 'C' base = '5.00' )
|
||||
( zone = 'IN' rate = 'S' base = '7.50' )
|
||||
( zone = 'OU' rate = 'A' base = '7.50' )
|
||||
( zone = 'OU' rate = 'C' base = '3.75' )
|
||||
( zone = 'OU' rate = 'S' base = '5.00' )
|
||||
( zone = 'SA' rate = 'A' base = '15.00' )
|
||||
( zone = 'SA' rate = 'C' base = '7.50' )
|
||||
( zone = 'SA' rate = 'S' base = '11.25' )
|
||||
( zone = 'AL' rate = 'A' base = '20.00' )
|
||||
( zone = 'AL' rate = 'C' base = '10.00' )
|
||||
( zone = 'AL' rate = 'S' base = '15.00' ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD weekend_surcharge.
|
||||
IF iv_day = 'SA' OR iv_day = 'SU'.
|
||||
rv_surcharge = c_weekend_surcharge.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD is_known_zone.
|
||||
rv_known = xsdbool( iv_zone = 'IN' OR iv_zone = 'OU'
|
||||
OR iv_zone = 'SA' OR iv_zone = 'AL' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD is_known_rate.
|
||||
rv_known = xsdbool( iv_rate = 'A' OR iv_rate = 'C' OR iv_rate = 'S' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD is_known_day.
|
||||
rv_known = xsdbool( iv_day = 'MO' OR iv_day = 'TU' OR iv_day = 'WE'
|
||||
OR iv_day = 'TH' OR iv_day = 'FR' OR iv_day = 'SA'
|
||||
OR iv_day = 'SU' ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
145
tasks_gen/train/G1135/faulty/m3_pool_ticket.clas.abap
Normal file
145
tasks_gen/train/G1135/faulty/m3_pool_ticket.clas.abap
Normal file
@@ -0,0 +1,145 @@
|
||||
CLASS {{p}}pool_ticket DEFINITION PUBLIC FINAL CREATE PUBLIC.
|
||||
PUBLIC SECTION.
|
||||
TYPES ty_zone TYPE c LENGTH 2.
|
||||
TYPES ty_rate TYPE c LENGTH 1.
|
||||
TYPES ty_day TYPE c LENGTH 2.
|
||||
TYPES ty_flag TYPE c LENGTH 1.
|
||||
TYPES ty_status TYPE c LENGTH 2.
|
||||
TYPES ty_amount TYPE p LENGTH 8 DECIMALS 2.
|
||||
|
||||
CONSTANTS:
|
||||
BEGIN OF c_status,
|
||||
ok TYPE ty_status VALUE 'OK',
|
||||
zone TYPE ty_status VALUE 'ZN',
|
||||
rate TYPE ty_status VALUE 'RT',
|
||||
day TYPE ty_status VALUE 'DY',
|
||||
END OF c_status.
|
||||
|
||||
CONSTANTS:
|
||||
BEGIN OF c_flag,
|
||||
member TYPE ty_flag VALUE 'X',
|
||||
guest TYPE ty_flag VALUE ' ',
|
||||
END OF c_flag.
|
||||
|
||||
METHODS check_booking
|
||||
IMPORTING iv_zone TYPE ty_zone
|
||||
iv_rate TYPE ty_rate
|
||||
iv_day TYPE ty_day
|
||||
RETURNING VALUE(rv_status) TYPE ty_status.
|
||||
|
||||
METHODS ticket_price
|
||||
IMPORTING iv_zone TYPE ty_zone
|
||||
iv_rate TYPE ty_rate
|
||||
iv_day TYPE ty_day
|
||||
iv_member TYPE ty_flag
|
||||
RETURNING VALUE(rv_price) TYPE ty_amount.
|
||||
|
||||
PRIVATE SECTION.
|
||||
TYPES:
|
||||
BEGIN OF ty_base_price,
|
||||
zone TYPE ty_zone,
|
||||
rate TYPE ty_rate,
|
||||
base TYPE ty_amount,
|
||||
END OF ty_base_price,
|
||||
tt_base_price TYPE HASHED TABLE OF ty_base_price WITH UNIQUE KEY zone rate.
|
||||
|
||||
CONSTANTS c_weekend_surcharge TYPE ty_amount VALUE '2.50'.
|
||||
CONSTANTS c_member_share TYPE i VALUE 80.
|
||||
|
||||
METHODS base_prices
|
||||
RETURNING VALUE(rt_price) TYPE tt_base_price.
|
||||
|
||||
METHODS weekend_surcharge
|
||||
IMPORTING iv_day TYPE ty_day
|
||||
RETURNING VALUE(rv_surcharge) TYPE ty_amount.
|
||||
|
||||
METHODS is_known_zone
|
||||
IMPORTING iv_zone TYPE ty_zone
|
||||
RETURNING VALUE(rv_known) TYPE abap_bool.
|
||||
|
||||
METHODS is_known_rate
|
||||
IMPORTING iv_rate TYPE ty_rate
|
||||
RETURNING VALUE(rv_known) TYPE abap_bool.
|
||||
|
||||
METHODS is_known_day
|
||||
IMPORTING iv_day TYPE ty_day
|
||||
RETURNING VALUE(rv_known) TYPE abap_bool.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}pool_ticket IMPLEMENTATION.
|
||||
METHOD check_booking.
|
||||
IF is_known_zone( iv_zone ) = abap_false.
|
||||
rv_status = c_status-zone.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
IF is_known_rate( iv_rate ) = abap_false.
|
||||
rv_status = c_status-rate.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
IF is_known_day( iv_day ) = abap_false.
|
||||
rv_status = c_status-day.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
rv_status = c_status-ok.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD ticket_price.
|
||||
IF check_booking( iv_zone = iv_zone
|
||||
iv_rate = iv_rate
|
||||
iv_day = iv_day ) <> c_status-ok.
|
||||
rv_price = 0.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
DATA(lt_price) = base_prices( ).
|
||||
READ TABLE lt_price INTO DATA(ls_price)
|
||||
WITH TABLE KEY zone = iv_zone rate = iv_rate.
|
||||
IF sy-subrc <> 0.
|
||||
rv_price = 0.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
rv_price = ls_price-base - weekend_surcharge( iv_day ).
|
||||
IF iv_member = c_flag-member.
|
||||
rv_price = rv_price * c_member_share / 100.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD base_prices.
|
||||
rt_price = VALUE #(
|
||||
( zone = 'IN' rate = 'A' base = '10.00' )
|
||||
( zone = 'IN' rate = 'C' base = '5.00' )
|
||||
( zone = 'IN' rate = 'S' base = '7.50' )
|
||||
( zone = 'OU' rate = 'A' base = '7.50' )
|
||||
( zone = 'OU' rate = 'C' base = '3.75' )
|
||||
( zone = 'OU' rate = 'S' base = '5.00' )
|
||||
( zone = 'SA' rate = 'A' base = '15.00' )
|
||||
( zone = 'SA' rate = 'C' base = '7.50' )
|
||||
( zone = 'SA' rate = 'S' base = '11.25' )
|
||||
( zone = 'AL' rate = 'A' base = '20.00' )
|
||||
( zone = 'AL' rate = 'C' base = '10.00' )
|
||||
( zone = 'AL' rate = 'S' base = '15.00' ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD weekend_surcharge.
|
||||
IF iv_day = 'SA' OR iv_day = 'SU'.
|
||||
rv_surcharge = c_weekend_surcharge.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD is_known_zone.
|
||||
rv_known = xsdbool( iv_zone = 'IN' OR iv_zone = 'OU'
|
||||
OR iv_zone = 'SA' OR iv_zone = 'AL' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD is_known_rate.
|
||||
rv_known = xsdbool( iv_rate = 'A' OR iv_rate = 'C' OR iv_rate = 'S' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD is_known_day.
|
||||
rv_known = xsdbool( iv_day = 'MO' OR iv_day = 'TU' OR iv_day = 'WE'
|
||||
OR iv_day = 'TH' OR iv_day = 'FR' OR iv_day = 'SA'
|
||||
OR iv_day = 'SU' ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
Reference in New Issue
Block a user