61 lines
2.7 KiB
ABAP
61 lines
2.7 KiB
ABAP
CLASS ltc_soil_evaluator DEFINITION FINAL FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
|
|
PRIVATE SECTION.
|
|
DATA mo_cut TYPE REF TO {{p}}soil_evaluator.
|
|
METHODS setup.
|
|
METHODS valid_samples_grade_a FOR TESTING.
|
|
METHODS valid_samples_grade_b FOR TESTING.
|
|
METHODS valid_samples_grade_c FOR TESTING.
|
|
METHODS invalid_ph FOR TESTING.
|
|
METHODS empty_table FOR TESTING.
|
|
ENDCLASS.
|
|
|
|
CLASS ltc_soil_evaluator IMPLEMENTATION.
|
|
METHOD setup.
|
|
mo_cut = NEW {{p}}soil_evaluator( ).
|
|
ENDMETHOD.
|
|
|
|
METHOD valid_samples_grade_a.
|
|
DATA(lt_samples) = VALUE {{p}}soil_evaluator=>tt_sample(
|
|
( ph = '6.5' nutrient = 60 )
|
|
( ph = '7.0' nutrient = 55 ) ).
|
|
DATA(ls_result) = mo_cut->evaluate( lt_samples ).
|
|
cl_abap_unit_assert=>assert_equals( exp = {{p}}soil_evaluator=>c_status_ok act = ls_result-status ).
|
|
cl_abap_unit_assert=>assert_equals( exp = '6.8' act = ls_result-avg_ph ).
|
|
cl_abap_unit_assert=>assert_equals( exp = 58 act = ls_result-avg_nutrient ).
|
|
cl_abap_unit_assert=>assert_equals( exp = {{p}}soil_evaluator=>c_grade_a act = ls_result-grade ).
|
|
ENDMETHOD.
|
|
|
|
METHOD valid_samples_grade_b.
|
|
DATA(lt_samples) = VALUE {{p}}soil_evaluator=>tt_sample(
|
|
( ph = '5.5' nutrient = 35 )
|
|
( ph = '6.0' nutrient = 40 ) ).
|
|
DATA(ls_result) = mo_cut->evaluate( lt_samples ).
|
|
cl_abap_unit_assert=>assert_equals( exp = {{p}}soil_evaluator=>c_status_ok act = ls_result-status ).
|
|
cl_abap_unit_assert=>assert_equals( exp = {{p}}soil_evaluator=>c_grade_b act = ls_result-grade ).
|
|
ENDMETHOD.
|
|
|
|
METHOD valid_samples_grade_c.
|
|
DATA(lt_samples) = VALUE {{p}}soil_evaluator=>tt_sample(
|
|
( ph = '4.0' nutrient = 10 ) ).
|
|
DATA(ls_result) = mo_cut->evaluate( lt_samples ).
|
|
cl_abap_unit_assert=>assert_equals( exp = {{p}}soil_evaluator=>c_status_ok act = ls_result-status ).
|
|
cl_abap_unit_assert=>assert_equals( exp = {{p}}soil_evaluator=>c_grade_c act = ls_result-grade ).
|
|
ENDMETHOD.
|
|
|
|
METHOD invalid_ph.
|
|
DATA(lt_samples) = VALUE {{p}}soil_evaluator=>tt_sample(
|
|
( ph = '15.0' nutrient = 50 ) ).
|
|
DATA(ls_result) = mo_cut->evaluate( lt_samples ).
|
|
cl_abap_unit_assert=>assert_equals( exp = {{p}}soil_evaluator=>c_status_error act = ls_result-status ).
|
|
cl_abap_unit_assert=>assert_initial( act = ls_result-avg_ph ).
|
|
cl_abap_unit_assert=>assert_initial( act = ls_result-avg_nutrient ).
|
|
cl_abap_unit_assert=>assert_initial( act = ls_result-grade ).
|
|
ENDMETHOD.
|
|
|
|
METHOD empty_table.
|
|
DATA(lt_samples) = VALUE {{p}}soil_evaluator=>tt_sample( ).
|
|
DATA(ls_result) = mo_cut->evaluate( lt_samples ).
|
|
cl_abap_unit_assert=>assert_equals( exp = {{p}}soil_evaluator=>c_status_error act = ls_result-status ).
|
|
ENDMETHOD.
|
|
ENDCLASS.
|