Stage 2 summary at 50 accepted trajectories

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Kral
2026-10-05 18:02:52 +02:00
parent 332fb4601d
commit 5bcd1bf9cd
1230 changed files with 77563 additions and 33 deletions

View File

@@ -0,0 +1,40 @@
CLASS {{p}}t_blood_test 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 one_camp_total FOR TESTING.
ENDCLASS.
CLASS {{p}}t_blood_test IMPLEMENTATION.
METHOD class_setup.
go_env = cl_cds_test_environment=>create( i_for_entity = '{{P}}I_BLOOD_STOCK' ).
ENDMETHOD.
METHOD class_teardown.
go_env->destroy( ).
ENDMETHOD.
METHOD setup.
go_env->clear_doubles( ).
ENDMETHOD.
METHOD one_camp_total.
DATA lt_camp TYPE STANDARD TABLE OF {{p}}camp WITH EMPTY KEY.
DATA lt_donat TYPE STANDARD TABLE OF {{p}}donat WITH EMPTY KEY.
lt_camp = VALUE #( ( camp_id = 'A' city = 'RIVER' ) ).
lt_donat = VALUE #( ( camp_id = 'A' dona_no = 1 blood_group = 'A' vol_ml = 100 )
( camp_id = 'A' dona_no = 2 blood_group = 'A' vol_ml = 0 )
( camp_id = 'A' dona_no = 3 blood_group = 'A' vol_ml = 200 )
( camp_id = 'A' dona_no = 4 blood_group = 'A' vol_ml = 300 ) ).
go_env->insert_test_data( lt_camp ).
go_env->insert_test_data( lt_donat ).
SELECT SINGLE dona_count, total_volume FROM {{p}}i_blood_stock WHERE camp_id = 'A'
INTO @DATA(ls_row).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 3 ) act = CONV decfloat34( ls_row-dona_count ) ).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 600 ) act = CONV decfloat34( ls_row-total_volume ) ).
ENDMETHOD.
ENDCLASS.

View File

@@ -0,0 +1,14 @@
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Blood donation totals'
define view entity {{P}}I_BLOOD_STOCK
as select from {{p}}donat as donation
inner join {{p}}camp as site on site.camp_id = donation.camp_id
{
key site.camp_id as camp_id,
site.city as city,
count( * ) as dona_count,
sum( cast( donation.vol_ml as abap.dec( 15, 0 ) ) ) as total_volume
}
where donation.vol_ml > 0
group by site.camp_id, site.city
having count( * ) >= 3