public void ExecuteTest()
        {
            ICommand command       = new WordCount();
            var      a             = Directory.GetCurrentDirectory();
            var      pathToTestDir = TestTools.FindPathToTestFiles();

            Assert.IsTrue(pathToTestDir != "TestFile directory is missing");

            // single argument test
            var arguments = new List <string>()
            {
                Path.Combine(pathToTestDir, "FirstTestFile.txt")
            };

            var commandResult = command.Execute(arguments);

            Assert.IsNotNull(commandResult);
            Assert.AreEqual(commandResult.Count(), 1);

            var linesFromCommand = commandResult.First().Split('\n');
            var firstFileLines   = File.ReadAllLines(arguments[0]);

            foreach (var line in linesFromCommand)
            {
                Assert.IsTrue(firstFileLines.Contains(line));
            }

            // multi argument test
            arguments.Add(Path.Combine(pathToTestDir, "SecondTestFile.txt"));
            commandResult = command.Execute(arguments);
            Assert.IsNotNull(commandResult);
            Assert.AreEqual(commandResult.Count(), 2);

            linesFromCommand = commandResult.First().Split('\n');

            foreach (var line in linesFromCommand)
            {
                Assert.IsTrue(firstFileLines.Contains(line));
            }

            linesFromCommand = commandResult.Last().Split('\n');
            var secondFileLines = File.ReadAllLines(arguments.Last());

            foreach (var line in linesFromCommand)
            {
                Assert.IsTrue(secondFileLines.Contains(line));
            }
        }
Example #2
0
        private string[] ExecuteCommand(string file)
        {
            var result = wc.Execute(new string[] { file });

            Assert.IsNotNull(result);
            return(result);
        }
        public void InvalidArgumentsTest()
        {
            ICommand command       = new WordCount();
            var      commandResult = command.Execute(null);

            Assert.IsNotNull(commandResult);
            Assert.IsTrue(commandResult.Count() == 1);
            Assert.AreEqual("Invalid arguments", commandResult.First());
        }
        public void FileDoesNotExistTest()
        {
            ICommand command       = new WordCount();
            var      fileName      = "TheInvalidFile.txt";
            var      commandResult = command.Execute(new List <string>()
            {
                fileName
            });

            Assert.IsNotNull(commandResult);
            Assert.IsTrue(commandResult.Count() == 1);
            Assert.AreEqual($"The file {fileName} does not exist", commandResult.First());
        }