anchor.diff:  			   output_atom_warning_msg/3, stop_atom_process/1]).
   
   -include("../include/wrangler.hrl").
  -%% =====================================================================
  -%% @spec rename_mod(FileName::filename(), NewName::string(), SearchPaths::[string()])-> term()
  -%%   
   
   -spec(rename_mod/4::(filename(), string(), [dir()], integer()) -> 
   	     {error, string()} | {question, string()} |{ok, [filename()]}).
  
positive.code: 	true ->
  	    case lists:suffix(?DEFAULT_EUNIT_TESTMODULE_SUFFIX, atom_to_list(OldModName)) of 
  		true ->
  		    throw({warning, "The module to be renamed is an EUnit test module, do you really want to continue the refactoring?"});
  		false ->
  		    case lists:suffix(?DEFAULT_EUNIT_TESTMODULE_SUFFIX, atom_to_list(NewModName)) of 
  			true ->
  
negative.code: %% 
  %% =====================================================================
  %% @doc Rename a module with a user-supplied new module name.
  %% <p> To apply this refactoring, point the cursor to anywhere in the module
  %% to be renamed, then select  <em> Rename Module Name </em> from the 
  %% <em> Refactor </em> menu, after that, the refactorer will prompt to enter 
  %% the new module name in the mini-buffer.
  %% </p>
  %% <p> This refactoring has a global effect, i.e., it affects all those modules 
  %% in which the module to be renamed is imported, or used as a module qualifier.
  %% </p>
  %% <p>
  %% The following <em> side-conditions </em> apply to this refactoring:
  %% <li> The new module name should be a fresh name. </li>
  %% <li> This refactoring assume that the file basename is always the same as the 
  %%  module name, therefore this refactoring changes the filename as well. </li>
  %% </p>
  %% @end
  %% =====================================================================
  %% Notes relating to test frameworks: this refactoring check the usage of Quickcheck, 
  %% Eunit and CommonTest.
  %% QuickCheck: no restrictions on the usage of module name, but need to check the 
  %%             usage of 'call' Quadruples.
  %% Eunit: Need to issue a warning message when a non-test module name is renamed to 
  %%        a test module name; or vice versa; 
  %%        Also need to check the existence of the test module, and ask the user whether 
  %%        to rename it as well.
  %%CommonTest: Need to issue a warning message when a non-test module name is renamed to
  %%            a test module namel or vice versa.
  
  -module(refac_rename_mod).
  
  