anchor.diff:      ls_result-package  = iv_package.
       ls_result-path     = iv_path.
       ls_result-filename = iv_filename.
  +    ls_result-packmove = iv_packmove.
   
       APPEND ls_result TO mt_results.
   
  
positive.code:                               iv_rstate   TYPE char1
                                iv_package  TYPE devclass
                                iv_path     TYPE string
                                iv_filename TYPE string,
        setup,
        positive FOR TESTING RAISING zcx_abapgit_exception,
        neg_diff_path_for_same_obj FOR TESTING RAISING zcx_abapgit_exception,
        neg_incorrect_path_vs_pack FOR TESTING RAISING zcx_abapgit_exception,
        neg_similar_filenames FOR TESTING RAISING zcx_abapgit_exception,
        neg_empty_filenames FOR TESTING RAISING zcx_abapgit_exception.
  
  ENDCLASS.
  
  
negative.code: 
      cl_abap_unit_assert=>assert_equals(
        act = mi_log->has_rc( '4' )
        exp = abap_true ).
  
    ENDMETHOD.
  
    METHOD package_move.
  
      " 5 Changed package assignment
      append_result( iv_obj_type = 'CLAS'
                     iv_obj_name = 'ZCLASS1'
                     iv_match    = ' '
                     iv_lstate   = ' '
                     iv_rstate   = 'A'
                     iv_package  = '$Z$'
                     iv_path     = '/'
                     iv_filename = 'zclass1.clas.abap'
                     iv_packmove = 'X' ).
  
      append_result( iv_obj_type = 'CLAS'
                     iv_obj_name = 'ZCLASS1'
                     iv_match    = ' '
                     iv_lstate   = 'A'
                     iv_rstate   = ' '
                     iv_package  = '$Z$SUB'
                     iv_path     = '/sub'
                     iv_filename = 'zclass1.clas.abap'
                     iv_packmove = 'X' ).
  
      append_result( iv_obj_type = 'CLAS'
                     iv_obj_name = 'ZCLASS1'
                     iv_match    = ' '
                     iv_lstate   = ' '
                     iv_rstate   = 'A'
                     iv_package  = '$Z$'
                     iv_path     = '/'
                     iv_filename = 'zclass1.clas.xml'
                     iv_packmove = 'X' ).
  
      append_result( iv_obj_type = 'CLAS'
                     iv_obj_name = 'ZCLASS1'
                     iv_match    = ' '
                     iv_lstate   = 'A'
                     iv_rstate   = ' '
                     iv_package  = '$Z$SUB'
                     iv_path     = '/sub'
                     iv_filename = 'zclass1.clas.xml'
                     iv_packmove = 'X' ).
  
      append_result( iv_obj_type = 'DOMA'
                     iv_obj_name = 'ZDOMA1'
                     iv_match    = ' '
                     iv_lstate   = 'A'
                     iv_rstate   = ' '
                     iv_package  = '$Z$'
                     iv_path     = '/'
                     iv_filename = 'zdoma1.doma.xml'
                     iv_packmove = 'X' ).
  
      append_result( iv_obj_type = 'DOMA'
                     iv_obj_name = 'ZDOMA2'
                     iv_match    = ' '
                     iv_lstate   = ' '
                     iv_rstate   = 'A'
                     iv_package  = '$Z$SUB'
                     iv_path     = '/sub'
                     iv_filename = 'zdoma1.doma.xml'
                     iv_packmove = 'X' ).
  
      zcl_abapgit_file_status=>run_checks(
        ii_log     = mi_log
        it_results = mt_results
        io_dot     = mo_dot
        iv_top     = '$Z$' ).
  
      " Three files, but only two msg (for two changed objects)
      cl_abap_unit_assert=>assert_equals(
        act = mi_log->count( )
        exp = 2 ).
  
      cl_abap_unit_assert=>assert_equals(
        act = mi_log->has_rc( '5' )
        exp = abap_true ).
  
    ENDMETHOD.
  