/// <summary> /// Executes the list directory command. /// </summary> /// <param name="fileSystem">The file system on which the command is going to be executed.</param> public override void Execute(Models.FileSystem fileSystem) { IEnumerable <File> fileList; try { fileList = fileSystem.ListDirectory(Directory); } catch (InvalidOperationException exception) { Console.WriteLine(exception.Message); return; } foreach (var file in fileList) { if (file is Directory directory) { Console.ForegroundColor = ConsoleColor.Green; Console.Write(directory.Name + " "); Console.ResetColor(); } else if (file is ContentFile contentFile) { Console.Write(contentFile.Name + " "); } } Console.WriteLine(); }
public void ListCurrentDirectory() { var fileSystem = new Models.FileSystem(); fileSystem.CreateDirectory("/directory"); fileSystem.CreateDirectory("/directory/testDirectory"); var listedDirectory = fileSystem.ListDirectory("").ToList(); Assert.AreEqual(1, listedDirectory.Count); }
public void ListInvalidDirectory() { var fileSystem = new Models.FileSystem(); fileSystem.CreateDirectory("/directory"); fileSystem.CreateDirectory("/directory/testDirectory"); fileSystem.CreateDirectory("/directory/testDirectory1"); fileSystem.CreateDirectory("/directory/testDirectory2"); var listedDirectory = fileSystem.ListDirectory("/directory/123").ToList(); }
public void ListDirectoryRelative() { var fileSystem = new Models.FileSystem(); fileSystem.CreateDirectory("/directory"); fileSystem.CreateDirectory("/directory/testDirectory"); fileSystem.CreateDirectory("/directory/testDirectory1"); fileSystem.CreateDirectory("/directory/testDirectory2"); var listedDirectory = fileSystem.ListDirectory("directory").ToList(); Assert.AreEqual(3, listedDirectory.Count); Assert.IsTrue(listedDirectory.FirstOrDefault(f => f.Path == "/directory/testDirectory") != null); Assert.IsTrue(listedDirectory.FirstOrDefault(f => f.Path == "/directory/testDirectory1") != null); Assert.IsTrue(listedDirectory.FirstOrDefault(f => f.Path == "/directory/testDirectory2") != null); }