Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014aUaQeLnwbb1zTpN7kHeat
144 lines
6.1 KiB
ABAP
144 lines
6.1 KiB
ABAP
CLASS {{p}}t02_hidden DEFINITION PUBLIC FINAL CREATE PUBLIC
|
|
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
|
|
|
|
PRIVATE SECTION.
|
|
DATA mo_cut TYPE REF TO {{p}}sample_batcher.
|
|
|
|
METHODS setup.
|
|
METHODS adds_sample FOR TESTING.
|
|
METHODS counts_urgent FOR TESTING.
|
|
METHODS rejects_empty_id FOR TESTING.
|
|
METHODS rejects_empty_type FOR TESTING.
|
|
METHODS rejects_duplicate FOR TESTING.
|
|
METHODS rejects_bad_priority FOR TESTING.
|
|
METHODS normalizes_input FOR TESTING.
|
|
METHODS batches_sorted FOR TESTING.
|
|
METHODS one_row_per_type FOR TESTING.
|
|
METHODS get_batch_known FOR TESTING.
|
|
METHODS get_batch_unknown FOR TESTING.
|
|
ENDCLASS.
|
|
|
|
|
|
CLASS {{p}}t02_hidden IMPLEMENTATION.
|
|
|
|
METHOD setup.
|
|
mo_cut = NEW {{p}}sample_batcher( ).
|
|
ENDMETHOD.
|
|
|
|
METHOD adds_sample.
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = abap_true
|
|
act = mo_cut->add_sample( iv_sample_id = 'S0000001'
|
|
iv_test_type = 'GLU'
|
|
iv_priority = 2 ) ).
|
|
DATA(lt_batches) = mo_cut->get_batches( ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 1 act = lines( lt_batches ) ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 1 act = lt_batches[ 1 ]-total ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 0 act = lt_batches[ 1 ]-urgent ).
|
|
ENDMETHOD.
|
|
|
|
METHOD counts_urgent.
|
|
mo_cut->add_sample( iv_sample_id = 'S1' iv_test_type = 'K' iv_priority = 1 ).
|
|
mo_cut->add_sample( iv_sample_id = 'S2' iv_test_type = 'K' iv_priority = 3 ).
|
|
mo_cut->add_sample( iv_sample_id = 'S3' iv_test_type = 'K' iv_priority = 1 ).
|
|
DATA(ls_batch) = mo_cut->get_batch( 'K' ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 3 act = ls_batch-total ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 2 act = ls_batch-urgent ).
|
|
ENDMETHOD.
|
|
|
|
METHOD rejects_empty_id.
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = abap_false
|
|
act = mo_cut->add_sample( iv_sample_id = ''
|
|
iv_test_type = 'GLU'
|
|
iv_priority = 2 ) ).
|
|
DATA(lt_batches) = mo_cut->get_batches( ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 0 act = lines( lt_batches ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD rejects_empty_type.
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = abap_false
|
|
act = mo_cut->add_sample( iv_sample_id = 'S1'
|
|
iv_test_type = ' '
|
|
iv_priority = 2 ) ).
|
|
DATA(lt_batches) = mo_cut->get_batches( ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 0 act = lines( lt_batches ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD rejects_duplicate.
|
|
mo_cut->add_sample( iv_sample_id = 'S1' iv_test_type = 'GLU' iv_priority = 2 ).
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = abap_false
|
|
act = mo_cut->add_sample( iv_sample_id = 's1'
|
|
iv_test_type = 'NA'
|
|
iv_priority = 2 ) ).
|
|
DATA(lt_batches) = mo_cut->get_batches( ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 1 act = lines( lt_batches ) ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'GLU' act = lt_batches[ 1 ]-test_type ).
|
|
ENDMETHOD.
|
|
|
|
METHOD rejects_bad_priority.
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = abap_false
|
|
act = mo_cut->add_sample( iv_sample_id = 'S1'
|
|
iv_test_type = 'GLU'
|
|
iv_priority = 4 ) ).
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = abap_false
|
|
act = mo_cut->add_sample( iv_sample_id = 'S2'
|
|
iv_test_type = 'GLU'
|
|
iv_priority = 0 ) ).
|
|
DATA(lt_batches) = mo_cut->get_batches( ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 0 act = lines( lt_batches ) ).
|
|
ENDMETHOD.
|
|
|
|
METHOD normalizes_input.
|
|
cl_abap_unit_assert=>assert_equals(
|
|
exp = abap_true
|
|
act = mo_cut->add_sample( iv_sample_id = ' s0000001 '
|
|
iv_test_type = 'glu'
|
|
iv_priority = 2 ) ).
|
|
DATA(lt_batches) = mo_cut->get_batches( ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 1 act = lines( lt_batches ) ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'GLU' act = lt_batches[ 1 ]-test_type ).
|
|
ENDMETHOD.
|
|
|
|
METHOD batches_sorted.
|
|
mo_cut->add_sample( iv_sample_id = 'S1' iv_test_type = 'NA' iv_priority = 2 ).
|
|
mo_cut->add_sample( iv_sample_id = 'S2' iv_test_type = 'GLU' iv_priority = 2 ).
|
|
mo_cut->add_sample( iv_sample_id = 'S3' iv_test_type = 'K' iv_priority = 2 ).
|
|
DATA(lt_batches) = mo_cut->get_batches( ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 3 act = lines( lt_batches ) ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'GLU' act = lt_batches[ 1 ]-test_type ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'K' act = lt_batches[ 2 ]-test_type ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'NA' act = lt_batches[ 3 ]-test_type ).
|
|
ENDMETHOD.
|
|
|
|
METHOD one_row_per_type.
|
|
mo_cut->add_sample( iv_sample_id = 'S1' iv_test_type = 'GLU' iv_priority = 1 ).
|
|
mo_cut->add_sample( iv_sample_id = 'S2' iv_test_type = 'GLU' iv_priority = 2 ).
|
|
mo_cut->add_sample( iv_sample_id = 'S3' iv_test_type = 'GLU' iv_priority = 3 ).
|
|
DATA(lt_batches) = mo_cut->get_batches( ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 1 act = lines( lt_batches ) ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 3 act = lt_batches[ 1 ]-total ).
|
|
ENDMETHOD.
|
|
|
|
METHOD get_batch_known.
|
|
mo_cut->add_sample( iv_sample_id = 'S1' iv_test_type = 'GLU' iv_priority = 1 ).
|
|
mo_cut->add_sample( iv_sample_id = 'S2' iv_test_type = 'NA' iv_priority = 2 ).
|
|
DATA(ls_batch) = mo_cut->get_batch( 'GLU' ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'GLU' act = ls_batch-test_type ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 1 act = ls_batch-total ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 1 act = ls_batch-urgent ).
|
|
ENDMETHOD.
|
|
|
|
METHOD get_batch_unknown.
|
|
DATA(ls_batch) = mo_cut->get_batch( 'XXX' ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 'XXX' act = ls_batch-test_type ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 0 act = ls_batch-total ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 0 act = ls_batch-urgent ).
|
|
ENDMETHOD.
|
|
|
|
ENDCLASS.
|