static void Main(string[] args) { if (args.Length == 1 && args[0] == "runTests") { Tests(); return; } else if (args.Length < 2) { Console.WriteLine("Insufficient arguments given."); return; } string currentExcelPath = args[1]; string currentDirectoryPath = Path.GetDirectoryName(currentExcelPath); if (!File.Exists(currentExcelPath)) { Console.WriteLine("File does not exist {0}", currentExcelPath); return; } string rootName = Path.GetFileNameWithoutExtension(currentExcelPath); DirectorySyncer directorySyncer = new DirectorySyncer(rootName); // Close Excel from here? switch (args[0]) { case "syncExcel": directorySyncer.SyncExcelToDirectories(currentExcelPath, currentDirectoryPath); break; case "syncDirectories": directorySyncer.SyncDirectoriesToExcel(currentExcelPath, currentDirectoryPath); break; case "syncBothExcelAndDirectories": directorySyncer.SyncDirectoriesAndExcel(currentExcelPath, currentDirectoryPath); break; default: break; } // Reopen Excel if closed }
static void Tests() { // Gets path of program string currentPath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location); // Setup Console.WriteLine("Setup"); string rootName = "Sierra Guidebook"; string excelFileName = rootName + ".xlsx"; string originalExcelFileName = rootName + " - Original.xlsx"; string excelTempFileName = rootName + "_Temp.xlsx"; string testComplete = "Test complete. Press key to continue"; ITreeNode directories = CreateTree(rootName); TreeNodeIO.CreateDirectories(currentPath, directories, isRootNode: true); UpdateExcelFile(originalExcelFileName, excelFileName); DirectorySyncer directorySyncer = new DirectorySyncer(rootName); Console.WriteLine("Press key to begin tests"); Console.ReadKey(); //// Test //Console.WriteLine("Test: Read Existing Directory"); //directorySyncer.ReadFromDirectories(Path.Combine(currentPath, directories.Name)); //Console.WriteLine(testComplete); //Console.ReadKey(); //// Test //Console.WriteLine("Test: Read Excel"); //directorySyncer.ReadFromExcel(Path.Combine(currentPath, excelFileName)); //Console.WriteLine(testComplete); //Console.ReadKey(); // Test Console.WriteLine("Test: Read Existing Directory & Write to Excel"); directorySyncer.SyncExcelToDirectories(Path.Combine(currentPath, excelFileName), currentPath); Console.WriteLine(testComplete); Console.ReadKey(); //// Test //UpdateExcelFile(originalExcelFileName, excelFileName); //Console.WriteLine("Test: Read Excel & Write to Existing Directory"); //directorySyncer.SyncDirectoriesToExcel(Path.Combine(currentPath, excelFileName), currentPath); //Console.WriteLine(testComplete); //Console.ReadKey(); //// Test //UpdateExcelFile(originalExcelFileName, excelFileName); //TreeNodeIO.RemoveDirectories(currentPath, directories); //TreeNodeIO.CreateDirectories(currentPath, directories, isRootNode: true); //Console.WriteLine("Test: Sync Directories and Excel"); //directorySyncer.SyncDirectoriesAndExcel(Path.Combine(currentPath, excelFileName), currentPath); //Console.WriteLine(testComplete); //Console.ReadKey(); // Teardown Console.WriteLine("Teardown"); UpdateExcelFile(originalExcelFileName, excelFileName); TreeNodeIO.RemoveDirectories(currentPath, directories); Console.WriteLine("Press key to exit"); Console.ReadKey(); }