@@ -846,21 +846,25 @@ public void ImportModule()
846846            openFileDialog . Setup ( o =>  o . ShowHelp ) ; 
847847            openFileDialog . Setup ( o =>  o . Filter ) ; 
848848            openFileDialog . Setup ( o =>  o . CheckFileExists ) ; 
849-             openFileDialog . Setup ( o =>  o . FileNames ) . Returns ( new [ ]  {  "C:\\ Users\\ Rubberduck\\ Desktop\\ StdModule1.bas"  } ) ; 
849+             const  string  standardModule  =  "C:\\ Users\\ Rubberduck\\ Desktop\\ StdModule1.bas" ; 
850+             openFileDialog . Setup ( o =>  o . FileNames ) . Returns ( new [ ]  {  standardModule  } ) ; 
850851            openFileDialog . Setup ( o =>  o . ShowDialog ( ) ) . Returns ( DialogResult . OK ) ; 
851852
852853            var  projectRepository  =  new  ProjectsRepository ( vbe . Object ) ; 
853854            var  messageBox  =  new  Mock < IMessageBox > ( ) ; 
854855            var  saveFileDialog  =  new  Mock < ISaveFileDialog > ( ) ; 
855856
857+             var  fileHandler  =  new  Mock < Rubberduck . Interaction . Input . IFileHandler > ( ) ; 
858+             fileHandler . Setup ( o =>  o . ReadAllLines ( standardModule ) ) . Returns ( new [ ]  {  "Attribute VB_Name = \" Module1\" " ,  "Public Sub Foo()" ,  "End Sub"  } ) ; 
859+ 
856860            using  ( var  state  =  new  RubberduckParserState ( vbe . Object ,  projectRepository ,  new  DeclarationFinderFactory ( ) ,  vbeEvents . Object ) ) 
857861            { 
858862                var  removeCommand  =  new  RemoveCommand ( saveFileDialog . Object ,  messageBox . Object ,  state . ProjectsProvider ) ; 
859863
860864                var  uiDispatcher  =  new  Mock < IUiDispatcher > ( ) ; 
861865                var  vm  =  new  CodeExplorerViewModel ( new  FolderHelper ( state ) ,  state ,  removeCommand ,  _generalSettingsProvider . Object ,  _windowSettingsProvider . Object ,  uiDispatcher . Object ,  vbe . Object ) 
862866                { 
863-                     ImportCommand  =  new  ImportCommand ( vbe . Object ,  openFileDialog . Object ) 
867+                     ImportCommand  =  new  ImportCommand ( vbe . Object ,  openFileDialog . Object ,   fileHandler . Object ) 
864868                } ; 
865869
866870                var  parser  =  MockParser . Create ( vbe . Object ,  state ,  projectRepository ) ; 
@@ -870,7 +874,7 @@ public void ImportModule()
870874                vm . SelectedItem  =  vm . Projects . First ( ) ; 
871875                vm . ImportCommand . Execute ( vm . SelectedItem ) ; 
872876
873-                 components . Verify ( c =>  c . Import ( "C: \\ Users \\ Rubberduck \\ Desktop \\ StdModule1 .bas" ) ,  Times . Once ) ; 
877+                 components . Verify ( c =>  c . Import ( "RubberduckTempImportFile0 .bas" ) ,  Times . Once ) ; 
874878            } 
875879        } 
876880
@@ -895,21 +899,28 @@ public void ImportMultipleModules()
895899            openFileDialog . Setup ( o =>  o . ShowHelp ) ; 
896900            openFileDialog . Setup ( o =>  o . Filter ) ; 
897901            openFileDialog . Setup ( o =>  o . CheckFileExists ) ; 
898-             openFileDialog . Setup ( o =>  o . FileNames ) . Returns ( new [ ]  {  "C:\\ Users\\ Rubberduck\\ Desktop\\ StdModule1.bas" ,  "C:\\ Users\\ Rubberduck\\ Desktop\\ ClsModule1.cls"  } ) ; 
902+             const  string  standardModule  =  "C:\\ Users\\ Rubberduck\\ Desktop\\ StdModule1.bas" ; 
903+             const  string  classModule  =  "C:\\ Users\\ Rubberduck\\ Desktop\\ ClsModule1.cls" ; 
904+             openFileDialog . Setup ( o =>  o . FileNames ) . Returns ( new [ ]  {  standardModule ,  classModule  } ) ; 
899905            openFileDialog . Setup ( o =>  o . ShowDialog ( ) ) . Returns ( DialogResult . OK ) ; 
900906
901907            var  projectRepository  =  new  ProjectsRepository ( vbe . Object ) ; 
902908            var  messageBox  =  new  Mock < IMessageBox > ( ) ; 
903909            var  saveFileDialog  =  new  Mock < ISaveFileDialog > ( ) ; 
904910
911+             var  fileHandler  =  new  Mock < Rubberduck . Interaction . Input . IFileHandler > ( ) ; 
912+             var  returnedLines  =  new [ ]  {  "Attribute VB_Name = \" Module1\" " ,  "Public Sub Foo()" ,  "End Sub"  } ; 
913+             fileHandler . Setup ( o =>  o . ReadAllLines ( standardModule ) ) . Returns ( returnedLines ) ; 
914+             fileHandler . Setup ( o =>  o . ReadAllLines ( classModule ) ) . Returns ( returnedLines ) ; 
915+ 
905916            using  ( var  state  =  new  RubberduckParserState ( vbe . Object ,  projectRepository ,  new  DeclarationFinderFactory ( ) ,  vbeEvents . Object ) ) 
906917            { 
907918                var  removeCommand  =  new  RemoveCommand ( saveFileDialog . Object ,  messageBox . Object ,  state . ProjectsProvider ) ; 
908919
909920                var  uiDispatcher  =  new  Mock < IUiDispatcher > ( ) ; 
910921                var  vm  =  new  CodeExplorerViewModel ( new  FolderHelper ( state ) ,  state ,  removeCommand ,  _generalSettingsProvider . Object ,  _windowSettingsProvider . Object ,  uiDispatcher . Object ,  vbe . Object ) 
911922                { 
912-                     ImportCommand  =  new  ImportCommand ( vbe . Object ,  openFileDialog . Object ) 
923+                     ImportCommand  =  new  ImportCommand ( vbe . Object ,  openFileDialog . Object ,   fileHandler . Object ) 
913924                } ; 
914925
915926                var  parser  =  MockParser . Create ( vbe . Object ,  state ,  projectRepository ) ; 
@@ -919,8 +930,8 @@ public void ImportMultipleModules()
919930                vm . SelectedItem  =  vm . Projects . First ( ) ; 
920931                vm . ImportCommand . Execute ( vm . SelectedItem ) ; 
921932
922-                 components . Verify ( c =>  c . Import ( "C: \\ Users \\ Rubberduck \\ Desktop \\ StdModule1 .bas" ) ,  Times . Once ) ; 
923-                 components . Verify ( c =>  c . Import ( "C: \\ Users \\ Rubberduck \\ Desktop \\ ClsModule1 .cls" ) ,  Times . Once ) ; 
933+                 components . Verify ( c =>  c . Import ( "RubberduckTempImportFile0 .bas" ) ,  Times . Once ) ; 
934+                 components . Verify ( c =>  c . Import ( "RubberduckTempImportFile1 .cls" ) ,  Times . Once ) ; 
924935            } 
925936        } 
926937
@@ -930,7 +941,7 @@ public void ImportModule_Cancel()
930941        { 
931942            var  builder  =  new  MockVbeBuilder ( ) ; 
932943            var  project  =  builder . ProjectBuilder ( "TestProject1" ,  ProjectProtection . Unprotected ) 
933-                 . AddComponent ( "Module1" ,  ComponentType . StandardModule ,  "" ) ; 
944+                 . AddComponent ( "Module1" ,  ComponentType . StandardModule ,  string . Empty ) ; 
934945
935946            var  components  =  project . MockVBComponents ; 
936947
@@ -952,13 +963,17 @@ public void ImportModule_Cancel()
952963            var  messageBox  =  new  Mock < IMessageBox > ( ) ; 
953964            var  saveFileDialog  =  new  Mock < ISaveFileDialog > ( ) ; 
954965
966+             var  fileHandler  =  new  Mock < Rubberduck . Interaction . Input . IFileHandler > ( ) ; 
967+ 
955968            using  ( var  state  =  new  RubberduckParserState ( vbe . Object ,  projectRepository ,  new  DeclarationFinderFactory ( ) ,  vbeEvents . Object ) ) 
956969            { 
957970                var  removeCommand  =  new  RemoveCommand ( saveFileDialog . Object ,  messageBox . Object ,  state . ProjectsProvider ) ; 
958971
959972                var  uiDispatcher  =  new  Mock < IUiDispatcher > ( ) ; 
960-                 var  vm  =  new  CodeExplorerViewModel ( new  FolderHelper ( state ) ,  state ,  removeCommand ,  _generalSettingsProvider . Object ,  _windowSettingsProvider . Object ,  uiDispatcher . Object ,  vbe . Object ) ; 
961-                 vm . ImportCommand  =  new  ImportCommand ( vbe . Object ,  openFileDialog . Object ) ; 
973+                 var  vm  =  new  CodeExplorerViewModel ( new  FolderHelper ( state ) ,  state ,  removeCommand ,  _generalSettingsProvider . Object ,  _windowSettingsProvider . Object ,  uiDispatcher . Object ,  vbe . Object ) 
974+                 { 
975+                     ImportCommand  =  new  ImportCommand ( vbe . Object ,  openFileDialog . Object ,  fileHandler . Object ) 
976+                 } ; 
962977
963978                var  parser  =  MockParser . Create ( vbe . Object ,  state ,  projectRepository ) ; 
964979                parser . Parse ( new  CancellationTokenSource ( ) ) ; 
@@ -967,12 +982,13 @@ public void ImportModule_Cancel()
967982                vm . SelectedItem  =  vm . Projects . First ( ) . Items . First ( ) . Items . First ( ) ; 
968983                vm . ImportCommand . Execute ( vm . SelectedItem ) ; 
969984
970-                 components . Verify ( c =>  c . Import ( "C: \\ Users \\ Rubberduck \\ Desktop \\ StdModule1 .bas" ) ,  Times . Never ) ; 
985+                 components . Verify ( c =>  c . Import ( "RubberduckTempImportFile0 .bas" ) ,  Times . Never ) ; 
971986            } 
972987        } 
973988
974989        [ Category ( "Code Explorer" ) ] 
975990        [ Test ] 
991+         #region TestCases
976992        [ TestCase ( "Bar" , 
977993@"Attribute VB_Name = ""Module1"" 
978994'@Folder(Bar) 
@@ -986,6 +1002,8 @@ public void ImportModule_Cancel()
9861002@"Attribute VB_Name = ""Module1"" 
9871003'@Folder(Foo) 
9881004Dim foo As Range" ) ] 
1005+         #endregion
1006+ 
9891007        public  void  AnnotateFolder_EndsWithModuleVariableDeclaration ( string  updatedFolder ,  string  expectedResult ,  string  sourceText ) 
9901008        { 
9911009            var  startRule  =  Rubberduck . Parsing . VBA . Parsing . VBACodeStringParser . Parse ( sourceText ,  t =>  t . startRule ( ) ) ; 
@@ -1070,6 +1088,7 @@ public void AnnotateFolder_FolderAnnotationExisted(string updatedFolder, string
10701088        } 
10711089        [ Category ( "Code Explorer" ) ] 
10721090        [ Test ] 
1091+         #region TestCases
10731092        [ TestCase ( "Bar" , 
10741093@"Attribute VB_Name = ""Module1"" 
10751094'@Folder(Bar) 
@@ -1079,6 +1098,8 @@ Public Sub Foo()
10791098@"Attribute VB_Name = ""Module1"" 
10801099Public Sub Foo() 
10811100End Sub" ) ] 
1101+         #endregion
1102+ 
10821103        public  void  AnnotateFolder_FolderAnnotationAdded ( string  updatedFolder ,  string  expectedResult ,  string  sourceText ) 
10831104        { 
10841105            var  startRule  =  Rubberduck . Parsing . VBA . Parsing . VBACodeStringParser . Parse ( sourceText ,  t =>  t . startRule ( ) ) ; 
0 commit comments