예제 #1
0
 public void TestCdDirectory()
 {
     Directory dossier = new Directory("dossier", null);
     dossier.chmod("7");
     dossier.mkdir("directory");
     Assert.AreEqual(dossier.cd("directory"), dossier.files[0]);
 }
예제 #2
0
 public void TestCdFile()
 {
     Directory dossier = new Directory("dossier", null);
     dossier.chmod("7");
     dossier.createNewFile("file");
     Assert.AreEqual(dossier.cd("file"), dossier.files[0]);
 }
예제 #3
0
파일: Cd.cs 프로젝트: lappriou/FileSystem
 public void CdByDirectoryInFileNoExist()
 {
     Directory dossier6 = new Directory("dossier", null);
     dossier6.chmod(7);
     dossier6.createNewFile("hui");
     Assert.AreEqual(dossier6.cd("rfd"), null);
 }
예제 #4
0
파일: Cd.cs 프로젝트: lappriou/FileSystem
 public void CdByDirectoryInFile()
 {
     Directory dossier = new Directory("dossier", null);
     dossier.chmod(7);
     dossier.createNewFile("hui");
     Assert.AreEqual(dossier.cd("hui"), dossier.ListFile[0]);
 }
예제 #5
0
        public void GetPathByFile()
        {
            Directory dossier = new Directory("C:", null);

            dossier.chmod(7);
            dossier.mkdir("hui");
            File FileCurrent = dossier;
            FileCurrent = dossier.cd("hui");
            FileCurrent.chmod(7);
            FileCurrent.mkdir("toto");
            FileCurrent = FileCurrent.cd("toto");
            FileCurrent.chmod(7);
            Assert.AreEqual(FileCurrent.getPath(), "C:/hui/toto");
        }
예제 #6
0
        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);
        }
예제 #7
0
        public void SetUp()
        {
            current = new Directory("C:", true);
            current.chmod(7);
            current.mkdir("Dossier1");
            current.mkdir("Dossier2");
            current.mkdir("Dossier3");
            current.createNewFile("CFile");
            NouvFile = current.cd("NouvFile");
            Dossier1 = (Directory)current.cd("Dossier1");
            Dossier2 = (Directory)current.cd("Dossier2");
            Dossier3 = (Directory)current.cd("Dossier3");

            CFile = current.cd("CFile");
            Dossier2 = (Directory)current.cd("Dossier2");
        }
예제 #8
0
 public void rootFalse()
 {
     fileSystem = (Directory)fileSystem.cd("dossier");
     fileSystem.mkdir("do$$ier");
     fileSystem = (Directory)fileSystem.cd("do$$ier");
     Assert.AreNotEqual(fileSystem.getRoot(), "dosssier");
 }
예제 #9
0
 public void parent()
 {
     fileSystem = (Directory)fileSystem.cd("dossier");
     fileSystem.mkdir("do$$ier");
     fileSystem = (Directory)fileSystem.cd("do$$ier");
     Assert.AreEqual(fileSystem.getRoot(), "dossier");
 }