Files
abap-llm/tasks_gen/eval/G0018/hidden/t20_hidden.clas.abap
Kral 5de5e2851c Generator: pilot analysis and fixes; G0002-G0021 tasks; handover notes merged
- Static bundle checks (name length, seed type, reserved words, contract test classes,
  testclasses_file), local abaplint parser check before SAP, max_tokens, robust JSON parse
- Runner: G2 for CDS views with parameters, contract_check detail in report
- G0020 and G0013 fixed by review and revalidated (oracle 100, null 0)
- Pilot results in docs/faz1-tasarim.md 11e; handover notes merged into CLAUDE.md and docs

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 05:04:23 +02:00

80 lines
3.0 KiB
ABAP

CLASS {{p}}t20_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 association_path FOR TESTING.
METHODS closed_order_hidden FOR TESTING.
METHODS customer_data_shown FOR TESTING.
METHODS open_orders_only FOR TESTING.
METHODS order_key_data FOR TESTING.
METHODS order_without_customer FOR TESTING.
ENDCLASS.
CLASS {{p}}t20_hidden IMPLEMENTATION.
METHOD class_setup.
go_env = cl_cds_test_environment=>create( i_for_entity = '{{P}}I_ORDER' ).
ENDMETHOD.
METHOD class_teardown.
go_env->destroy( ).
ENDMETHOD.
METHOD setup.
DATA lt_cust TYPE STANDARD TABLE OF {{p}}cust WITH EMPTY KEY.
DATA lt_ord TYPE STANDARD TABLE OF {{p}}ord WITH EMPTY KEY.
go_env->clear_doubles( ).
lt_cust = VALUE #(
( cust_id = 'C001' cust_name = 'Alpha GmbH' country = 'DE' )
( cust_id = 'C002' cust_name = 'Beta Ltd' country = 'GB' ) ).
lt_ord = VALUE #(
( order_id = 'O100' cust_id = 'C001' order_date = '20250110' status = 'O' )
( order_id = 'O101' cust_id = 'C002' order_date = '20250111' status = 'O' )
( order_id = 'O102' cust_id = 'C999' order_date = '20250112' status = 'O' )
( order_id = 'O103' cust_id = 'C001' order_date = '20250113' status = 'C' ) ).
go_env->insert_test_data( lt_cust ).
go_env->insert_test_data( lt_ord ).
ENDMETHOD.
METHOD open_orders_only.
SELECT COUNT(*) FROM {{p}}i_order INTO @DATA(lv_count).
cl_abap_unit_assert=>assert_equals( exp = 3 act = lv_count ).
ENDMETHOD.
METHOD closed_order_hidden.
SELECT SINGLE order_id FROM {{p}}i_order
WHERE order_id = 'O103' INTO @DATA(lv_id).
cl_abap_unit_assert=>assert_initial( act = lv_id ).
ENDMETHOD.
METHOD order_key_data.
SELECT SINGLE cust_id, order_date FROM {{p}}i_order
WHERE order_id = 'O100' INTO @DATA(ls_ord).
cl_abap_unit_assert=>assert_equals( exp = 'C001' act = ls_ord-cust_id ).
cl_abap_unit_assert=>assert_equals( exp = CONV d( '20250110' ) act = ls_ord-order_date ).
ENDMETHOD.
METHOD customer_data_shown.
SELECT SINGLE customer_name, country FROM {{p}}i_order
WHERE order_id = 'O101' INTO @DATA(ls_ord).
cl_abap_unit_assert=>assert_equals( exp = 'Beta Ltd' act = ls_ord-customer_name ).
cl_abap_unit_assert=>assert_equals( exp = 'GB' act = ls_ord-country ).
ENDMETHOD.
METHOD order_without_customer.
SELECT SINGLE customer_name, country FROM {{p}}i_order
WHERE order_id = 'O102' INTO @DATA(ls_ord).
cl_abap_unit_assert=>assert_initial( act = ls_ord-customer_name ).
cl_abap_unit_assert=>assert_initial( act = ls_ord-country ).
ENDMETHOD.
METHOD association_path.
SELECT SINGLE \_customer-cust_name FROM {{p}}i_order
WHERE order_id = 'O100' INTO @DATA(lv_name).
cl_abap_unit_assert=>assert_equals( exp = 'Alpha GmbH' act = lv_name ).
ENDMETHOD.
ENDCLASS.