示例#1
0
        /// <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();
        }
示例#2
0
        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);
        }
示例#3
0
        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();
        }
示例#4
0
        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);
        }