Fix coverage with several contract classes; table annotation and file path checks; clean task dir on write
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014aUaQeLnwbb1zTpN7kHeat
This commit is contained in:
74
tasks_gen/eval/G0120/faulty/m0_meter_consumption.clas.abap
Normal file
74
tasks_gen/eval/G0120/faulty/m0_meter_consumption.clas.abap
Normal file
@@ -0,0 +1,74 @@
|
||||
CLASS {{p}}meter_consumption DEFINITION PUBLIC FINAL CREATE PUBLIC.
|
||||
PUBLIC SECTION.
|
||||
INTERFACES {{p}}if_meter_reading.
|
||||
|
||||
PRIVATE SECTION.
|
||||
TYPES:
|
||||
BEGIN OF ty_meter,
|
||||
meter_id TYPE {{p}}if_meter_reading=>ty_meter_id,
|
||||
opening_date TYPE {{p}}if_meter_reading=>ty_reading_date,
|
||||
opening_value TYPE {{p}}if_meter_reading=>ty_value,
|
||||
closing_date TYPE {{p}}if_meter_reading=>ty_reading_date,
|
||||
closing_value TYPE {{p}}if_meter_reading=>ty_value,
|
||||
END OF ty_meter,
|
||||
tt_meter TYPE HASHED TABLE OF ty_meter WITH UNIQUE KEY meter_id.
|
||||
|
||||
METHODS collect
|
||||
IMPORTING it_readings TYPE {{p}}if_meter_reading=>tt_readings
|
||||
RETURNING VALUE(rt_meter) TYPE tt_meter.
|
||||
METHODS to_result
|
||||
IMPORTING it_meter TYPE tt_meter
|
||||
RETURNING VALUE(rt_result) TYPE {{p}}if_meter_reading=>tt_result.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}meter_consumption IMPLEMENTATION.
|
||||
METHOD {{p}}if_meter_reading~calculate.
|
||||
rt_result = to_result( collect( it_readings ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD collect.
|
||||
LOOP AT it_readings INTO DATA(ls_reading).
|
||||
IF ls_reading-reading_value >= 0.
|
||||
CONTINUE.
|
||||
ENDIF.
|
||||
READ TABLE rt_meter ASSIGNING FIELD-SYMBOL(<ls_meter>)
|
||||
WITH TABLE KEY meter_id = ls_reading-meter_id.
|
||||
IF sy-subrc <> 0.
|
||||
INSERT VALUE #( meter_id = ls_reading-meter_id
|
||||
opening_date = ls_reading-reading_date
|
||||
opening_value = ls_reading-reading_value
|
||||
closing_date = ls_reading-reading_date
|
||||
closing_value = ls_reading-reading_value )
|
||||
INTO TABLE rt_meter ASSIGNING <ls_meter>.
|
||||
ENDIF.
|
||||
IF ls_reading-reading_date < <ls_meter>-opening_date
|
||||
OR ( ls_reading-reading_date = <ls_meter>-opening_date
|
||||
AND ls_reading-reading_value > <ls_meter>-opening_value ).
|
||||
<ls_meter>-opening_date = ls_reading-reading_date.
|
||||
<ls_meter>-opening_value = ls_reading-reading_value.
|
||||
ENDIF.
|
||||
IF ls_reading-reading_date > <ls_meter>-closing_date
|
||||
OR ( ls_reading-reading_date = <ls_meter>-closing_date
|
||||
AND ls_reading-reading_value > <ls_meter>-closing_value ).
|
||||
<ls_meter>-closing_date = ls_reading-reading_date.
|
||||
<ls_meter>-closing_value = ls_reading-reading_value.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD to_result.
|
||||
LOOP AT it_meter ASSIGNING FIELD-SYMBOL(<ls_meter>).
|
||||
DATA(lv_consumption) = <ls_meter>-closing_value - <ls_meter>-opening_value.
|
||||
IF lv_consumption < 0.
|
||||
lv_consumption = 0.
|
||||
ENDIF.
|
||||
INSERT VALUE #( meter_id = <ls_meter>-meter_id
|
||||
opening_value = <ls_meter>-opening_value
|
||||
closing_value = <ls_meter>-closing_value
|
||||
consumption = lv_consumption )
|
||||
INTO TABLE rt_result.
|
||||
ENDLOOP.
|
||||
SORT rt_result BY meter_id.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
74
tasks_gen/eval/G0120/faulty/m1_meter_consumption.clas.abap
Normal file
74
tasks_gen/eval/G0120/faulty/m1_meter_consumption.clas.abap
Normal file
@@ -0,0 +1,74 @@
|
||||
CLASS {{p}}meter_consumption DEFINITION PUBLIC FINAL CREATE PUBLIC.
|
||||
PUBLIC SECTION.
|
||||
INTERFACES {{p}}if_meter_reading.
|
||||
|
||||
PRIVATE SECTION.
|
||||
TYPES:
|
||||
BEGIN OF ty_meter,
|
||||
meter_id TYPE {{p}}if_meter_reading=>ty_meter_id,
|
||||
opening_date TYPE {{p}}if_meter_reading=>ty_reading_date,
|
||||
opening_value TYPE {{p}}if_meter_reading=>ty_value,
|
||||
closing_date TYPE {{p}}if_meter_reading=>ty_reading_date,
|
||||
closing_value TYPE {{p}}if_meter_reading=>ty_value,
|
||||
END OF ty_meter,
|
||||
tt_meter TYPE HASHED TABLE OF ty_meter WITH UNIQUE KEY meter_id.
|
||||
|
||||
METHODS collect
|
||||
IMPORTING it_readings TYPE {{p}}if_meter_reading=>tt_readings
|
||||
RETURNING VALUE(rt_meter) TYPE tt_meter.
|
||||
METHODS to_result
|
||||
IMPORTING it_meter TYPE tt_meter
|
||||
RETURNING VALUE(rt_result) TYPE {{p}}if_meter_reading=>tt_result.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}meter_consumption IMPLEMENTATION.
|
||||
METHOD {{p}}if_meter_reading~calculate.
|
||||
rt_result = to_result( collect( it_readings ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD collect.
|
||||
LOOP AT it_readings INTO DATA(ls_reading).
|
||||
IF ls_reading-reading_value < 0.
|
||||
CONTINUE.
|
||||
ENDIF.
|
||||
READ TABLE rt_meter ASSIGNING FIELD-SYMBOL(<ls_meter>)
|
||||
WITH TABLE KEY meter_id = ls_reading-meter_id.
|
||||
IF sy-subrc <> 0.
|
||||
INSERT VALUE #( meter_id = ls_reading-meter_id
|
||||
opening_date = ls_reading-reading_date
|
||||
opening_value = ls_reading-reading_value
|
||||
closing_date = ls_reading-reading_date
|
||||
closing_value = ls_reading-reading_value )
|
||||
INTO TABLE rt_meter ASSIGNING <ls_meter>.
|
||||
ENDIF.
|
||||
IF ls_reading-reading_date < <ls_meter>-opening_date
|
||||
OR ( ls_reading-reading_date <> <ls_meter>-opening_date
|
||||
AND ls_reading-reading_value > <ls_meter>-opening_value ).
|
||||
<ls_meter>-opening_date = ls_reading-reading_date.
|
||||
<ls_meter>-opening_value = ls_reading-reading_value.
|
||||
ENDIF.
|
||||
IF ls_reading-reading_date > <ls_meter>-closing_date
|
||||
OR ( ls_reading-reading_date = <ls_meter>-closing_date
|
||||
AND ls_reading-reading_value > <ls_meter>-closing_value ).
|
||||
<ls_meter>-closing_date = ls_reading-reading_date.
|
||||
<ls_meter>-closing_value = ls_reading-reading_value.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD to_result.
|
||||
LOOP AT it_meter ASSIGNING FIELD-SYMBOL(<ls_meter>).
|
||||
DATA(lv_consumption) = <ls_meter>-closing_value - <ls_meter>-opening_value.
|
||||
IF lv_consumption < 0.
|
||||
lv_consumption = 0.
|
||||
ENDIF.
|
||||
INSERT VALUE #( meter_id = <ls_meter>-meter_id
|
||||
opening_value = <ls_meter>-opening_value
|
||||
closing_value = <ls_meter>-closing_value
|
||||
consumption = lv_consumption )
|
||||
INTO TABLE rt_result.
|
||||
ENDLOOP.
|
||||
SORT rt_result BY meter_id.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
74
tasks_gen/eval/G0120/faulty/m2_meter_consumption.clas.abap
Normal file
74
tasks_gen/eval/G0120/faulty/m2_meter_consumption.clas.abap
Normal file
@@ -0,0 +1,74 @@
|
||||
CLASS {{p}}meter_consumption DEFINITION PUBLIC FINAL CREATE PUBLIC.
|
||||
PUBLIC SECTION.
|
||||
INTERFACES {{p}}if_meter_reading.
|
||||
|
||||
PRIVATE SECTION.
|
||||
TYPES:
|
||||
BEGIN OF ty_meter,
|
||||
meter_id TYPE {{p}}if_meter_reading=>ty_meter_id,
|
||||
opening_date TYPE {{p}}if_meter_reading=>ty_reading_date,
|
||||
opening_value TYPE {{p}}if_meter_reading=>ty_value,
|
||||
closing_date TYPE {{p}}if_meter_reading=>ty_reading_date,
|
||||
closing_value TYPE {{p}}if_meter_reading=>ty_value,
|
||||
END OF ty_meter,
|
||||
tt_meter TYPE HASHED TABLE OF ty_meter WITH UNIQUE KEY meter_id.
|
||||
|
||||
METHODS collect
|
||||
IMPORTING it_readings TYPE {{p}}if_meter_reading=>tt_readings
|
||||
RETURNING VALUE(rt_meter) TYPE tt_meter.
|
||||
METHODS to_result
|
||||
IMPORTING it_meter TYPE tt_meter
|
||||
RETURNING VALUE(rt_result) TYPE {{p}}if_meter_reading=>tt_result.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}meter_consumption IMPLEMENTATION.
|
||||
METHOD {{p}}if_meter_reading~calculate.
|
||||
rt_result = to_result( collect( it_readings ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD collect.
|
||||
LOOP AT it_readings INTO DATA(ls_reading).
|
||||
IF ls_reading-reading_value < 0.
|
||||
CONTINUE.
|
||||
ENDIF.
|
||||
READ TABLE rt_meter ASSIGNING FIELD-SYMBOL(<ls_meter>)
|
||||
WITH TABLE KEY meter_id = ls_reading-meter_id.
|
||||
IF sy-subrc <> 0.
|
||||
INSERT VALUE #( meter_id = ls_reading-meter_id
|
||||
opening_date = ls_reading-reading_date
|
||||
opening_value = ls_reading-reading_value
|
||||
closing_date = ls_reading-reading_date
|
||||
closing_value = ls_reading-reading_value )
|
||||
INTO TABLE rt_meter ASSIGNING <ls_meter>.
|
||||
ENDIF.
|
||||
IF ls_reading-reading_date < <ls_meter>-opening_date
|
||||
OR ( ls_reading-reading_date = <ls_meter>-opening_date
|
||||
AND ls_reading-reading_value > <ls_meter>-opening_value ).
|
||||
<ls_meter>-opening_date = ls_reading-reading_date.
|
||||
<ls_meter>-opening_value = ls_reading-reading_value.
|
||||
ENDIF.
|
||||
IF ls_reading-reading_date > <ls_meter>-closing_date
|
||||
AND ( ls_reading-reading_date = <ls_meter>-closing_date
|
||||
AND ls_reading-reading_value > <ls_meter>-closing_value ).
|
||||
<ls_meter>-closing_date = ls_reading-reading_date.
|
||||
<ls_meter>-closing_value = ls_reading-reading_value.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD to_result.
|
||||
LOOP AT it_meter ASSIGNING FIELD-SYMBOL(<ls_meter>).
|
||||
DATA(lv_consumption) = <ls_meter>-closing_value - <ls_meter>-opening_value.
|
||||
IF lv_consumption < 0.
|
||||
lv_consumption = 0.
|
||||
ENDIF.
|
||||
INSERT VALUE #( meter_id = <ls_meter>-meter_id
|
||||
opening_value = <ls_meter>-opening_value
|
||||
closing_value = <ls_meter>-closing_value
|
||||
consumption = lv_consumption )
|
||||
INTO TABLE rt_result.
|
||||
ENDLOOP.
|
||||
SORT rt_result BY meter_id.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
74
tasks_gen/eval/G0120/faulty/m4_meter_consumption.clas.abap
Normal file
74
tasks_gen/eval/G0120/faulty/m4_meter_consumption.clas.abap
Normal file
@@ -0,0 +1,74 @@
|
||||
CLASS {{p}}meter_consumption DEFINITION PUBLIC FINAL CREATE PUBLIC.
|
||||
PUBLIC SECTION.
|
||||
INTERFACES {{p}}if_meter_reading.
|
||||
|
||||
PRIVATE SECTION.
|
||||
TYPES:
|
||||
BEGIN OF ty_meter,
|
||||
meter_id TYPE {{p}}if_meter_reading=>ty_meter_id,
|
||||
opening_date TYPE {{p}}if_meter_reading=>ty_reading_date,
|
||||
opening_value TYPE {{p}}if_meter_reading=>ty_value,
|
||||
closing_date TYPE {{p}}if_meter_reading=>ty_reading_date,
|
||||
closing_value TYPE {{p}}if_meter_reading=>ty_value,
|
||||
END OF ty_meter,
|
||||
tt_meter TYPE HASHED TABLE OF ty_meter WITH UNIQUE KEY meter_id.
|
||||
|
||||
METHODS collect
|
||||
IMPORTING it_readings TYPE {{p}}if_meter_reading=>tt_readings
|
||||
RETURNING VALUE(rt_meter) TYPE tt_meter.
|
||||
METHODS to_result
|
||||
IMPORTING it_meter TYPE tt_meter
|
||||
RETURNING VALUE(rt_result) TYPE {{p}}if_meter_reading=>tt_result.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}meter_consumption IMPLEMENTATION.
|
||||
METHOD {{p}}if_meter_reading~calculate.
|
||||
rt_result = to_result( collect( it_readings ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD collect.
|
||||
LOOP AT it_readings INTO DATA(ls_reading).
|
||||
IF ls_reading-reading_value < 0.
|
||||
CONTINUE.
|
||||
ENDIF.
|
||||
READ TABLE rt_meter ASSIGNING FIELD-SYMBOL(<ls_meter>)
|
||||
WITH TABLE KEY meter_id = ls_reading-meter_id.
|
||||
IF sy-subrc <> 0.
|
||||
INSERT VALUE #( meter_id = ls_reading-meter_id
|
||||
opening_date = ls_reading-reading_date
|
||||
opening_value = ls_reading-reading_value
|
||||
closing_date = ls_reading-reading_date
|
||||
closing_value = ls_reading-reading_value )
|
||||
INTO TABLE rt_meter ASSIGNING <ls_meter>.
|
||||
ENDIF.
|
||||
IF ls_reading-reading_date < <ls_meter>-opening_date
|
||||
OR ( ls_reading-reading_date = <ls_meter>-opening_date
|
||||
AND ls_reading-reading_value > <ls_meter>-opening_value ).
|
||||
<ls_meter>-opening_date = ls_reading-reading_date.
|
||||
<ls_meter>-opening_value = ls_reading-reading_value.
|
||||
ENDIF.
|
||||
IF ls_reading-reading_date > <ls_meter>-closing_date
|
||||
OR ( ls_reading-reading_date = <ls_meter>-closing_date
|
||||
AND ls_reading-reading_value <= <ls_meter>-closing_value ).
|
||||
<ls_meter>-closing_date = ls_reading-reading_date.
|
||||
<ls_meter>-closing_value = ls_reading-reading_value.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD to_result.
|
||||
LOOP AT it_meter ASSIGNING FIELD-SYMBOL(<ls_meter>).
|
||||
DATA(lv_consumption) = <ls_meter>-closing_value - <ls_meter>-opening_value.
|
||||
IF lv_consumption < 0.
|
||||
lv_consumption = 0.
|
||||
ENDIF.
|
||||
INSERT VALUE #( meter_id = <ls_meter>-meter_id
|
||||
opening_value = <ls_meter>-opening_value
|
||||
closing_value = <ls_meter>-closing_value
|
||||
consumption = lv_consumption )
|
||||
INTO TABLE rt_result.
|
||||
ENDLOOP.
|
||||
SORT rt_result BY meter_id.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
Reference in New Issue
Block a user