Files
abap-llm/tasks_gen/eval/G0113/reference/sample_batcher.testclasses.abap

89 lines
3.2 KiB
ABAP

CLASS ltc_sample_batcher DEFINITION FINAL FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
PRIVATE SECTION.
DATA mo_cut TYPE REF TO {{p}}sample_batcher.
METHODS setup.
METHODS counts_samples FOR TESTING.
METHODS counts_urgent FOR TESTING.
METHODS rejects_empty_id FOR TESTING.
METHODS rejects_duplicate FOR TESTING.
METHODS rejects_bad_priority FOR TESTING.
METHODS normalizes_input FOR TESTING.
METHODS batches_sorted FOR TESTING.
METHODS unknown_type_is_zero FOR TESTING.
ENDCLASS.
CLASS ltc_sample_batcher IMPLEMENTATION.
METHOD setup.
mo_cut = NEW {{p}}sample_batcher( ).
ENDMETHOD.
METHOD counts_samples.
mo_cut->add_sample( iv_sample_id = 'S1' iv_test_type = 'GLU' iv_priority = 2 ).
mo_cut->add_sample( iv_sample_id = 'S2' iv_test_type = 'GLU' iv_priority = 3 ).
DATA(ls_batch) = mo_cut->get_batch( 'GLU' ).
cl_abap_unit_assert=>assert_equals( exp = 2 act = ls_batch-total ).
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 = 2 ).
DATA(ls_batch) = mo_cut->get_batch( 'K' ).
cl_abap_unit_assert=>assert_equals( exp = 2 act = ls_batch-total ).
cl_abap_unit_assert=>assert_equals( exp = 1 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 ) ).
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 ) ).
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 = 9 ) ).
ENDMETHOD.
METHOD normalizes_input.
cl_abap_unit_assert=>assert_equals(
exp = abap_true
act = mo_cut->add_sample( iv_sample_id = 's1'
iv_test_type = 'glu'
iv_priority = 2 ) ).
DATA(lt_batches) = mo_cut->get_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 ).
DATA(lt_batches) = mo_cut->get_batches( ).
cl_abap_unit_assert=>assert_equals( exp = 'GLU' act = lt_batches[ 1 ]-test_type ).
cl_abap_unit_assert=>assert_equals( exp = 'NA' act = lt_batches[ 2 ]-test_type ).
ENDMETHOD.
METHOD unknown_type_is_zero.
DATA(ls_batch) = mo_cut->get_batch( 'XXX' ).
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.