public void getRoot() { repCourant = (Directory)repCourant.cd("lol"); Assert.AreEqual(repCourant.getRoot().Nom, "lol"); }
public void rootFalse() { fileSystem = (Directory)fileSystem.cd("dossier"); fileSystem.mkdir("do$$ier"); fileSystem = (Directory)fileSystem.cd("do$$ier"); Assert.AreNotEqual(fileSystem.getRoot(), "dosssier"); }
static void Main(string[] args) { Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine("......:::::[Start]:::::....."); Console.ResetColor(); string commande = ""; Directory currentDir = new Directory("[/]", true); File curent = new Directory("[/]", true); while (commande != "exit") { try { currentDir = (Directory)curent; } catch { } Console.ForegroundColor = ConsoleColor.Cyan; Console.Write(curent.GetName() + "# "); Console.ResetColor(); string mot1 = ""; string mot2 = ""; string mot3 = ""; commande = Console.ReadLine(); string[] commandeTab = commande.Split(' '); //Permet de metre dans un tableau tout les mots séparéments if (commandeTab.Length == 3) { mot1 = commandeTab[0]; mot2 = commandeTab[1]; mot3 = commandeTab[2]; } if (commandeTab.Length == 2) { mot1 = commandeTab[0]; mot2 = commandeTab[1]; } if (commandeTab.Length == 1) { mot1 = commandeTab[0]; } if (commandeTab.Length > 3) { Console.WriteLine("Votre saisie est inexacte"); } else if (commandeTab[0] == null) { } else { if (mot1 == "mkdir") { bool dossieCree = currentDir.Mkdir(mot2); if (dossieCree == true) { Console.WriteLine("Dossier Créé"); } } else if (mot1 == "create") // meme principe que mkdir { bool dossieCree = currentDir.CreateNewFile(mot2); if (dossieCree == true) { Console.WriteLine("Fichier Créé"); } } else if (mot1 == "ls") { List<File> listeFils = currentDir.Ls(); // vas chercher la liste de file du dossier foreach (File f in listeFils) { string genre; if (f.IsDirectory() == true) // vérifi si c'est un direcory pour pouvoir l'afficher { genre = "(D) "; } else { genre = "(F) "; } string wer; if (f.CanWrite() == true) // demande les permition { wer = "W"; } else { wer = "*"; } if (f.CanExecute() == true) { wer += "E"; } else { wer += "*"; } if (f.CanRead() == true) { wer += "R"; } else { wer += "*"; } String name = f.GetName(); Console.WriteLine(genre + " " + wer + " " + name); } } else if (mot1 == "cd") { File dossierCd = currentDir.Cd(mot2); if (dossierCd != null) //Si dossier n'est pas null: remplacer le courent par le fichier voulu { curent = dossierCd; } else { Console.WriteLine("Ce dossier n'existe pas"); } } else if (mot1 == "parent") { if (curent.racine == true) //Vérifi si vous n'êtes pas au bout du monde { Console.WriteLine("Vous êtes a la racine"); } else { curent = curent.GetParent(); } } else if (mot1 == "root") //afficher le premier dossier après la racine { File root = curent.getRoot(); Console.WriteLine(root.GetName()); } else if (mot1 == "path") { Console.WriteLine(curent.GetPath()); //vas chercher le path et l'affiche } else if (mot1 == "search") { if (curent.IsDirectory() == true) { List<File> fileTrouve = new List<File>(); fileTrouve = currentDir.Search(mot2); if (fileTrouve.Count != 0) { foreach (File f in fileTrouve) //pour tout les fichier trouvé, affiche le path { Console.WriteLine(f.GetPath()); } } else { Console.WriteLine("Se fichier n'existe pas"); } } else { Console.WriteLine("Vous ne pouvez pas car vous êtes dans un Fichier"); } } else if (mot1 == "rename") { if (curent.IsDirectory() == true) { if (currentDir.Cd(mot2) != null) // vérifier que le fichier existe { File fichierRenomer = currentDir.Cd(mot2); bool reponse = fichierRenomer.RenameTo(mot3); if (reponse == true) { Console.WriteLine("Fichier Bien renomé"); } else { Console.WriteLine("Fichier non renomé !"); } } else { Console.WriteLine("Ce fichier n'existe pas !"); } } else { Console.WriteLine("Vous ne pouvez pas car vous êtes dans un Fichier"); } } else if (mot1 == "file") { bool isFile = curent.IsFile(); if (isFile == true) { Console.WriteLine("Vous êtes dans un fichier"); } else { Console.WriteLine("Vous n'êtes pas dans un fichier"); } } else if (mot1 == "directory") { bool isDirectory = curent.IsDirectory(); if (isDirectory == true) { Console.WriteLine("Vous êtes dans un Dossier"); } else { Console.WriteLine("Vous n'êtes pas dans un Dossier"); } } else if (mot1 == "delete") { if (curent.IsDirectory() == true) // vérifi que l'on se trouve bien dans un dossier { bool estSuppr = currentDir.Delete(mot2); if (estSuppr == true) { Console.WriteLine("Fichier supprimé"); } } else { Console.WriteLine("Vous ne pouvez pas car vous êtes dans un Fichier"); } } else if (mot1 == "chmod") { if (IsNumeric(mot2) == true) { if (int.Parse(mot2) == 1 | int.Parse(mot2) == 2 | int.Parse(mot2) == 4 | int.Parse(mot2) == 6 | int.Parse(mot2) == 7) { curent.Chmod(int.Parse(mot2)); } else { Console.WriteLine("Nombre non reconnu pour chmod"); } } else { Console.WriteLine("Un nombre est requi"); } } else if (mot1 == "name") { Console.WriteLine(curent.GetName()); } else { Console.WriteLine("Faute de frappe ou commande inconnu"); } } } }
public void parent() { fileSystem = (Directory)fileSystem.cd("dossier"); fileSystem.mkdir("do$$ier"); fileSystem = (Directory)fileSystem.cd("do$$ier"); Assert.AreEqual(fileSystem.getRoot(), "dossier"); }
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(); }