Review fixes G0019, G0108: added hidden tests; revalidated
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014aUaQeLnwbb1zTpN7kHeat
This commit is contained in:
32
tasks_gen/eval/G0108/faulty/m3_i_call_charge.ddls.asddls
Normal file
32
tasks_gen/eval/G0108/faulty/m3_i_call_charge.ddls.asddls
Normal file
@@ -0,0 +1,32 @@
|
||||
@AccessControl.authorizationCheck: #NOT_REQUIRED
|
||||
@EndUserText.label: 'Call charge'
|
||||
define view entity {{P}}I_CALL_CHARGE
|
||||
as select from {{p}}calls
|
||||
{
|
||||
key call_id as call_id,
|
||||
customer as customer,
|
||||
cast( ceil( cast( duration_sec as abap.dec(15,2) ) / 60 ) as abap.int4 ) as billable_min,
|
||||
cast(
|
||||
case dest_type
|
||||
when 'N' then 9
|
||||
when 'I' then 25
|
||||
else 15
|
||||
end as abap.dec(5,2)
|
||||
) / 100 as rate,
|
||||
cast(
|
||||
round(
|
||||
cast( ceil( cast( duration_sec as abap.dec(15,2) ) / 60 ) as abap.dec(15,2) )
|
||||
* ( cast(
|
||||
case dest_type
|
||||
when 'N' then 9
|
||||
when 'I' then 25
|
||||
else 16
|
||||
end as abap.dec(5,2)
|
||||
) / 100 )
|
||||
* case when duration_sec > 1800
|
||||
then cast( 90 as abap.dec(5,2) ) / 100
|
||||
else cast( 100 as abap.dec(5,2) ) / 100
|
||||
end
|
||||
, 2 )
|
||||
as abap.dec(15,2) ) as charge
|
||||
}
|
||||
@@ -28,6 +28,18 @@
|
||||
"killed": 4,
|
||||
"ok": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"stage": "manual_fix",
|
||||
"by": "Claude review 2026-10-03",
|
||||
"change": "Added hidden test charge_other (charge of the default destination type).",
|
||||
"oracle": 100.0,
|
||||
"null": 0,
|
||||
"mutation": {
|
||||
"valid": 5,
|
||||
"killed": 5,
|
||||
"ok": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"accepted": true
|
||||
|
||||
@@ -13,6 +13,7 @@ CLASS {{p}}t16_hidden DEFINITION PUBLIC FINAL CREATE PUBLIC
|
||||
METHODS rate_national FOR TESTING.
|
||||
METHODS rate_international FOR TESTING.
|
||||
METHODS rate_other FOR TESTING.
|
||||
METHODS charge_other FOR TESTING.
|
||||
METHODS charge_no_discount FOR TESTING.
|
||||
METHODS charge_long_discount FOR TESTING.
|
||||
METHODS charge_rounding FOR TESTING.
|
||||
@@ -83,6 +84,11 @@ CLASS {{p}}t16_hidden IMPLEMENTATION.
|
||||
assert_amount( iv_exp = CONV decfloat34( '0.15' ) iv_act = CONV decfloat34( lv_rate ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD charge_other.
|
||||
SELECT SINGLE charge FROM {{p}}i_call_charge WHERE call_id = 'C4' INTO @DATA(lv_charge).
|
||||
assert_amount( iv_exp = CONV decfloat34( '0.30' ) iv_act = CONV decfloat34( lv_charge ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD charge_no_discount.
|
||||
SELECT SINGLE charge FROM {{p}}i_call_charge WHERE call_id = 'C1' INTO @DATA(lv_charge).
|
||||
assert_amount( iv_exp = CONV decfloat34( '0.27' ) iv_act = CONV decfloat34( lv_charge ) ).
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"object": "{{P}}I_CALL_CHARGE",
|
||||
"mutant": "line 13: 15 -> 16 (const)",
|
||||
"status": "killed",
|
||||
"hidden": "9/10",
|
||||
"hidden": "10/11",
|
||||
"failed_tests": [
|
||||
"RATE_OTHER"
|
||||
]
|
||||
@@ -14,7 +14,7 @@
|
||||
"object": "{{P}}I_CALL_CHARGE",
|
||||
"mutant": "line 22: 'I' -> 'Z' (lit)",
|
||||
"status": "killed",
|
||||
"hidden": "9/10",
|
||||
"hidden": "10/11",
|
||||
"failed_tests": [
|
||||
"CHARGE_LONG_DISCOUNT"
|
||||
]
|
||||
@@ -23,7 +23,7 @@
|
||||
"object": "{{P}}I_CALL_CHARGE",
|
||||
"mutant": "line 22: 25 -> 26 (const)",
|
||||
"status": "killed",
|
||||
"hidden": "9/10",
|
||||
"hidden": "10/11",
|
||||
"failed_tests": [
|
||||
"CHARGE_LONG_DISCOUNT"
|
||||
]
|
||||
@@ -31,25 +31,28 @@
|
||||
{
|
||||
"object": "{{P}}I_CALL_CHARGE",
|
||||
"mutant": "line 23: 15 -> 16 (const)",
|
||||
"status": "survived",
|
||||
"hidden": "10/10",
|
||||
"failed_tests": []
|
||||
"status": "killed",
|
||||
"hidden": "10/11",
|
||||
"failed_tests": [
|
||||
"CHARGE_OTHER"
|
||||
]
|
||||
},
|
||||
{
|
||||
"object": "{{P}}I_CALL_CHARGE",
|
||||
"mutant": "line 26: > -> <= (rel)",
|
||||
"status": "killed",
|
||||
"hidden": "6/10",
|
||||
"hidden": "6/11",
|
||||
"failed_tests": [
|
||||
"CHARGE_BOUNDARY",
|
||||
"CHARGE_LONG_DISCOUNT",
|
||||
"CHARGE_NO_DISCOUNT",
|
||||
"CHARGE_OTHER",
|
||||
"CHARGE_ROUNDING"
|
||||
]
|
||||
}
|
||||
],
|
||||
"valid": 5,
|
||||
"killed": 4,
|
||||
"kill_rate": 0.8,
|
||||
"killed": 5,
|
||||
"kill_rate": 1.0,
|
||||
"ok": true
|
||||
}
|
||||
@@ -1,9 +1,7 @@
|
||||
{
|
||||
"decision": "fix",
|
||||
"note": "Default rate (else 15) has no hidden test. Add a call type that falls into the else branch.",
|
||||
"decision": "accept",
|
||||
"note": "Fixed: added charge_other (default destination charge). Oracle 100, null 0, mutation 5/5.",
|
||||
"by": "Claude",
|
||||
"date": "2026-10-03",
|
||||
"failed_checks": {
|
||||
"7": "bosluk"
|
||||
}
|
||||
"failed_checks": {}
|
||||
}
|
||||
Reference in New Issue
Block a user