Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- METHOD custom_matcher.
- DATA: lo_currency_converter_double TYPE REF TO if_td_currency_converter,
- lo_expense_manager TYPE REF TO cl_td_expense_manager,
- lv_total_expense TYPE i,
- lv_exp_total_expense TYPE i VALUE 160,
- lo_matcher TYPE REF TO lcl_my_matcher.
- *create test double object
- lo_currency_converter_double ?= cl_abap_testdouble=>create( ‘if_td_currency_converter’ ).
- *configuration
- CREATE OBJECT lo_matcher.
- cl_abap_testdouble=>configure_call( lo_currency_converter_double )->returning( 80 )->set_matcher( lo_matcher ).
- lo_currency_converter_double->convert(
- EXPORTING
- amount = 100
- source_currency = ‘USD*’
- target_currency = ‘EUR’
- ).
- *injecting the test double into the object being tested
- CREATE OBJECT lo_expense_manager EXPORTING currency_converter = lo_currency_converter_double.
- *add expenses with pattern
- lo_expense_manager->add_expense_item(
- EXPORTING
- description = ‘Line item 1’
- currency_code = ‘USDollar’
- amount = ‘100’
- ).
- lo_expense_manager->add_expense_item(
- EXPORTING
- description = ‘Line item 2’
- currency_code = ‘USDLR’
- amount = ‘100’
- ).
- *actual method call
- lv_total_expense = lo_expense_manager->calculate_total_expense( currency_code = ‘EUR’ ).
- *assertion
- cl_abap_unit_assert=>assert_equals( exp = lv_exp_total_expense act = lv_total_expense ).
- ENDMETHOD.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement