Hard batch G0022-G0026: 5/5 accepted; budget floor, CDS checks, mutation check
- generator: budget floor (2x oracle activations, 3x calls), static checks for CDS $parameters and UNION annotation - harness/mutation.py: deterministic mutants of the reference; hidden tests must fail - G0022 revalidated with harness fixes: oracle 100, null 0 - results in docs/faz1-tasarim.md 11f Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
88
tasks_gen/eval/G0025/hidden/t16_hidden.clas.abap
Normal file
88
tasks_gen/eval/G0025/hidden/t16_hidden.clas.abap
Normal file
@@ -0,0 +1,88 @@
|
||||
CLASS {{p}}t16_hidden DEFINITION PUBLIC FINAL CREATE PUBLIC
|
||||
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
|
||||
PRIVATE SECTION.
|
||||
CLASS-DATA go_env TYPE REF TO if_cds_test_environment.
|
||||
CLASS-METHODS class_setup.
|
||||
CLASS-METHODS class_teardown.
|
||||
METHODS setup.
|
||||
METHODS source_a_rows FOR TESTING.
|
||||
METHODS source_b_rows FOR TESTING.
|
||||
METHODS all_partners FOR TESTING.
|
||||
METHODS same_id_twice FOR TESTING.
|
||||
METHODS name_and_city FOR TESTING.
|
||||
METHODS only_in_a FOR TESTING.
|
||||
METHODS only_in_b FOR TESTING.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}t16_hidden IMPLEMENTATION.
|
||||
METHOD class_setup.
|
||||
go_env = cl_cds_test_environment=>create( i_for_entity = '{{P}}I_PARTNER_ALL' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD class_teardown.
|
||||
go_env->destroy( ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD setup.
|
||||
DATA lt_a TYPE STANDARD TABLE OF {{p}}part_a WITH EMPTY KEY.
|
||||
DATA lt_b TYPE STANDARD TABLE OF {{p}}part_b WITH EMPTY KEY.
|
||||
go_env->clear_doubles( ).
|
||||
lt_a = VALUE #( ( partner_id = 'P1' name = 'Alpha GmbH' city = 'Berlin' )
|
||||
( partner_id = 'P2' name = 'Beta AG' city = 'Hamburg' ) ).
|
||||
lt_b = VALUE #( ( partner_id = 'P2' name = 'Beta AG' city = 'Hamburg' )
|
||||
( partner_id = 'P3' name = 'Gamma KG' city = 'Munich' ) ).
|
||||
go_env->insert_test_data( lt_a ).
|
||||
go_env->insert_test_data( lt_b ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD source_a_rows.
|
||||
SELECT partner_id, source FROM {{p}}i_partner_all
|
||||
WHERE source = 'A' ORDER BY partner_id INTO TABLE @DATA(lt_rows).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 2 act = lines( lt_rows ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'P1' act = lt_rows[ 1 ]-partner_id ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'P2' act = lt_rows[ 2 ]-partner_id ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD source_b_rows.
|
||||
SELECT partner_id, source FROM {{p}}i_partner_all
|
||||
WHERE source = 'B' ORDER BY partner_id INTO TABLE @DATA(lt_rows).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 2 act = lines( lt_rows ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'P2' act = lt_rows[ 1 ]-partner_id ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'P3' act = lt_rows[ 2 ]-partner_id ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD all_partners.
|
||||
SELECT COUNT(*) FROM {{p}}i_partner_all INTO @DATA(lv_count).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 4 act = lv_count ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD same_id_twice.
|
||||
SELECT source FROM {{p}}i_partner_all
|
||||
WHERE partner_id = 'P2' ORDER BY source INTO TABLE @DATA(lt_rows).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 2 act = lines( lt_rows ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'A' act = lt_rows[ 1 ]-source ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'B' act = lt_rows[ 2 ]-source ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD name_and_city.
|
||||
SELECT SINGLE name, city FROM {{p}}i_partner_all
|
||||
WHERE partner_id = 'P3' AND source = 'B' INTO @DATA(ls_row).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'Gamma KG' act = ls_row-name ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'Munich' act = ls_row-city ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD only_in_a.
|
||||
SELECT source FROM {{p}}i_partner_all
|
||||
WHERE partner_id = 'P1' INTO TABLE @DATA(lt_rows).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 1 act = lines( lt_rows ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'A' act = lt_rows[ 1 ]-source ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD only_in_b.
|
||||
SELECT source FROM {{p}}i_partner_all
|
||||
WHERE partner_id = 'P3' INTO TABLE @DATA(lt_rows).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 1 act = lines( lt_rows ) ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'B' act = lt_rows[ 1 ]-source ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
Reference in New Issue
Block a user