public void TestIsFile_Directory() { Directory dossier = new Directory("dossier", null); Assert.IsFalse(dossier.isFile()); }
public static void commande(Directory Actuel) { Console.Write(Actuel.path + "> "); string commandes = Console.ReadLine(); List<string> action = new List<string> (commandes.Split(' ')); switch (action[0]) { case "path": if (action.Count == 1) { Console.WriteLine(Actuel.getPath()); } else { goto default; } break; case "create": if (action.Count == 2) { bool test = false; foreach (File fichier in Actuel.Fichiers) { if (fichier.Nom == action[1]) { Console.WriteLine("Ce fichier existe déjà"); test = true; break; } } if (test == false) { Actuel.createNewFile(action[1]); } } else { goto default; } break; case "mkdir": if (action.Count == 2) { bool test = false; foreach (File fichier in Actuel.Fichiers) { if (fichier.Nom == action[1]) { Console.WriteLine("Ce fichier existe déjà"); test = true; break; } } if (test == false) { Actuel.mkdir(action[1]); } } else { goto default; } break; case "name": if (action.Count == 1) { Console.WriteLine(Actuel.getName()); } else { goto default; } break; case "ls": if (action.Count == 1) { if (Actuel.Fichiers.Count > 0) { Console.WriteLine(); foreach (File file in Actuel.ls()) { if (file.GetType().ToString() == "FileSystem.Directory") { Console.WriteLine("D " + file.Nom); } else { Console.WriteLine("F " + file.Nom); } } Console.WriteLine(); } } else { goto default; } break; case "cd": if (action.Count == 2) { if (Actuel.cd(action[1]).Nom == Actuel.Nom) { Console.WriteLine("Répertoire inexistant..."); } else { if (Actuel.cd(action[1]).GetType().ToString() == "FileSystem.File") { Console.WriteLine("Vous ne pouvez pas entrer dans un fichier"); } else { Actuel = (Directory)Actuel.cd(action[1]); } } } else { goto default; } break; case "file": if (action.Count == 1) { if (Actuel.isFile() == true) { Console.WriteLine("C'est un fichier"); } else { Console.WriteLine("Ce n'est pas un fichier"); } } else { goto default; } break; case "rename": if (action.Count == 3) { if (Actuel.renameTo(action[2]) == true) { bool work = false; foreach (File fichier in Actuel.Fichiers) { if (action[2] == fichier.Nom) { Console.WriteLine("Ce nom est déjà existant..."); work = true; break; } else { if (fichier.Nom == action[1]) { work = true; fichier.Nom = action[2]; break; } } } if (work == false) { Console.WriteLine("Impossible de renommer, fichier inexistant"); } } } else { goto default; } break; case "chmod": if (action.Count == 2) { int permission; if (Int32.TryParse(action[1], out permission)) { permission = Int32.Parse(action[1]); Actuel.chmod(permission); } else { Console.WriteLine("Permission impossible"); } } else { goto default; } break; case "directory": if (action.Count == 1) { if (Actuel.isDirectory() == true) { Console.WriteLine("C'est un répertoire"); } else { Console.WriteLine("Ce n'est pas un répertoire"); } } else { goto default; } break; case "delete": if (action.Count == 2) { Actuel.delete(action[1]); } else { goto default; } break; case "root": if (action.Count == 1) { Directory root = Actuel; while (root.parent.Nom != "C:") { root = (Directory)root.getParent(); } Console.WriteLine(root.Nom); } else { goto default; } break; case "parent": if (action.Count == 1) { if (Actuel.getParent() != Actuel) { Actuel = (Directory)Actuel.getParent(); } } else { goto default; } break; case "exit": if (action.Count == 1) { System.Environment.Exit(-1); } else { goto default; } break; default: Console.WriteLine("Commande inexistante, incomplète ou argument non valide"); break; } commande(Actuel); }
public void DirectoyIsFiles() { Directory dossier = new Directory("moi", null); Assert.IsFalse(dossier.isFile()); }
public void fileDirectory() { dossier = (Directory)fileSystem.cd("dossier"); Assert.IsFalse(dossier.isFile()); }
static void Main(string[] args) { string commande; File enCour = new Directory(" C: ", true); do { Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("[" + enCour.Name + "]"); Console.ResetColor(); string saisie = Console.ReadLine(); commande = getCommand(saisie); string arg = getArgument(saisie); string argBis = getArgumentBis(saisie); //Nouvelle saisie pour renommer un fichier try { Directory current = (Directory)enCour; if (commande != "mkdir" && commande != "create" && commande != "cd" && commande != "rename" && commande != "search" && commande != "delete" && commande != "path" && commande != "ls" && commande != "root" && commande != "parent" && commande != "file" && commande != "directory" && commande != "name" && commande != "chmod" && commande != "exit") { Console.WriteLine("Commande inconnue, veuillez réessayer"); } if (commande == "create" && saisie != null) { bool estOK = current.createNewFile(arg); if (estOK) { Console.WriteLine("Le fichier est créé"); } else { Console.WriteLine("Erreur! Le fichier n'a pas été créé (Vérifiez vos permissions)"); } } else if (commande == "mkdir" && arg != null && saisie != null) { bool estOK = current.mkdir(arg); if (estOK) { Console.WriteLine("Dossier " + "<" + arg + ">" + " créé"); } else { Console.WriteLine("Vous ne disposez pas des droits!"); } } if (commande == "ls" && saisie != null && arg == null) { if (current.canRead()) { List<File> list = current.ls(); if (list.Count == 0) { Console.WriteLine("Le dossier est vide"); } else { foreach (File charge in list) { if (charge.isFile() == true) { Console.WriteLine("(" + charge.getPermission() + ")" + " (f) " + charge.Name); } else { Console.WriteLine(charge.getPermission() + " (d) " + charge.Name); } } } } else { Console.WriteLine("Vous n'avez pas les droits nécessaires"); } } else if (commande == "cd" && arg != null && saisie != null) { File suivant = current.cd(arg); if (suivant == null) { Console.WriteLine("Vous ne pouvez pas vous déplacer"); } else { enCour = suivant; } } if (commande == "delete" && saisie != null && arg != null) { bool estOk = current.delete(arg); if (estOk) { Console.WriteLine("Le fichier est supprimé."); } else { Console.WriteLine("Suppression impossible."); } } if (commande == "rename" && arg != null && saisie != null && argBis != null) { File nvNom = current.cd(arg); bool estOk = nvNom.renameTo(argBis); if (estOk) { Console.WriteLine("Dossier/Fichier renommé avec succès!"); } else { Console.WriteLine("Erreur! Dossier/Fichier impossible à renommer"); } } if (commande == "search" && saisie != null && arg != null) { List<File> resultat = current.search(arg); foreach (File encours in resultat) { Console.WriteLine(encours.getPath()); } } } catch { if (commande == "ls" && saisie != null) { Console.WriteLine("Vous êtes dans un fichier "); } } if (commande == "path") { string lepath = enCour.getPath(); Console.WriteLine(lepath); } if (commande == "parent") { enCour = enCour.getParent(); } if (commande == "directory") { if (enCour.isDirectory()) { Console.WriteLine("C'est un dossier."); } else { Console.WriteLine("Ce n'est pas un dossier."); } } if (commande == "file") { if (enCour.isFile()) { Console.WriteLine("C'est un fichier."); } else { Console.WriteLine("Ce n'est pas un fichier."); } } if (commande == "name") { string lenom = enCour.getName(); Console.WriteLine("-->" + lenom); } if (commande == "root") { File root = enCour.getRoot(); Console.WriteLine(root.Name); } if (commande == "clear") { Console.Clear(); } if (commande == "chmod" && saisie != null) { try { enCour.chmod(int.Parse(arg)); } catch { Console.WriteLine("Attention, le nombre pour la permission est incorrect."); } } if (commande == "restart" && saisie != null) { Console.WriteLine("Le système va redémarrer"); } } while (commande != "restart"); Console.ReadLine(); }