Ejemplo n.º 1
0
        public void ParsingThrowsExceptionWhenNoArguments()
        {
            var parser = new CommandLineArgumentsParser();
            var args   = new string[] { };

            Assert.Throws <ArgumentException>(() => parser.Parse(args));
        }
Ejemplo n.º 2
0
        public void Parser_PerformSum_Invalid_Command()
        {
            // arrange
            // act
            var parser = new CommandLineArgumentsParser();
            var args   = "S x1 y1 x2 y2 x3 y3";

            // assert
            Assert.ThrowsException <ParserException>(() => parser.Parse(args));
        }
Ejemplo n.º 3
0
        public void Parser_InsertNumber_Invalid_Command()
        {
            // arrange
            // act
            var parser = new CommandLineArgumentsParser();
            var args   = "N x1 y1 v1";

            // assert
            Assert.ThrowsException <ParserException>(() => parser.Parse(args));
        }
Ejemplo n.º 4
0
        public void Parser_CreateNewSpreadSheet_Invalid_Command()
        {
            // arrange
            // act
            var parser = new CommandLineArgumentsParser();
            var args   = "C w h";

            // assert
            Assert.ThrowsException <ParserException>(() => parser.Parse(args));
        }
Ejemplo n.º 5
0
        public void ParsingThrowsExceptionWhenOnlyOneArgument()
        {
            var parser = new CommandLineArgumentsParser();
            var args   = new string[]
            {
                CommandLineArguments.Keys.Compress,
            };

            Assert.Throws <ArgumentException>(() => parser.Parse(args));
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Signals the external command line args.
        /// </summary>
        /// <param name="args">The args.</param>
        /// <returns>The Boolean.</returns>
        /// <remarks>...</remarks>
        public override bool SignalExternalCommandLineArgs(IList <string> args)
        {
            var parser = CommandLineArgumentsParser.Parse(args.ToArray());

            if (Settings.IsProMode)
            {
            }

            return(base.SignalExternalCommandLineArgs(args));
        }
Ejemplo n.º 7
0
        public void Parser_Invalid_Command_Spaces()
        {
            // arrange
            // act
            var parser = new CommandLineArgumentsParser();
            var args   = "   C     -2  -2  ";

            // assert
            Assert.ThrowsException <ParserException>(() => parser.Parse(args));
        }
Ejemplo n.º 8
0
        public void ParsingThrowsExceptionWhenFormatMissing()
        {
            var parser = new CommandLineArgumentsParser();
            var args   = new string[]
            {
                CommandLineArguments.Keys.Compress,
                "file.bmp",
                "file.dds"
            };

            Assert.Throws <ArgumentException>(() => parser.Parse(args));
        }
Ejemplo n.º 9
0
        public void ParsingThrowsExceptionWhenDDSFileHasInvalidExtension()
        {
            var parser = new CommandLineArgumentsParser();
            var args   = new string[]
            {
                CommandLineArguments.Keys.Compress,
                "file.bmp",
                "file.txt"
            };

            Assert.Throws <ArgumentException>(() => parser.Parse(args));
        }
Ejemplo n.º 10
0
        public void Parser_CreateNewSpreadSheet_Command()
        {
            // arrange
            var parser = new CommandLineArgumentsParser();
            var args   = "C 1 1";

            // act
            var result = parser.Parse(args);

            // assert
            Assert.IsInstanceOfType(result.Command, typeof(CreateNewSpreadSheetCommand));
            Assert.IsInstanceOfType(result.Validator, typeof(CreateNewSpreadSheetValidator));
        }
Ejemplo n.º 11
0
        public void Parser_Quit_Command()
        {
            // arrange
            var parser = new CommandLineArgumentsParser();
            var args   = "Q";

            // act
            var result = parser.Parse(args);

            // assert
            Assert.IsInstanceOfType(result.Command, typeof(QuitCommand));
            Assert.IsInstanceOfType(result.Validator, typeof(QuitValidator));
        }
        private static async Task <CommandResult> RunCommandPipelineAsync(ReadOnlyCollection <string> commandLineArguments, Assembly commandAssembly, IServiceProvider provider, CancellationToken stoppingToken)
        {
            CommandLineArguments args = CommandLineArgumentsParser.Parse(commandLineArguments);
            Type type = CommandSelector.SelectCommand(commandAssembly, args);

            using CommandBase instance = CommandActivator.ConstructCommand(provider, type);
            CommandArgumentsBinder.BindArguments(instance, args);
            CommandOptionsBinder.BindOptions(instance, args);

            CommandResult result = await CommandExecutor.InvokeAsync(instance, stoppingToken);

            return(result);
        }
Ejemplo n.º 13
0
        public void Parser_PerformSum_Command()
        {
            // arrange
            var parser = new CommandLineArgumentsParser();
            var args   = "S 1 1 2 1 3 1";

            // act
            var result = parser.Parse(args);

            // assert
            Assert.IsInstanceOfType(result.Command, typeof(PerformSumCommand));
            Assert.IsInstanceOfType(result.Validator, typeof(PerformSumValidator));
        }
Ejemplo n.º 14
0
        public void ParsingThrowsExceptionWhenTooManyArguments()
        {
            var parser = new CommandLineArgumentsParser();
            var args   = new string[]
            {
                CommandLineArguments.Keys.Compress,
                CommandLineArguments.Keys.Decompress,
                CommandLineArguments.Keys.Overwrite,
                "file.bmp",
                "file.dds"
            };

            Assert.Throws <ArgumentException>(() => parser.Parse(args));
        }
Ejemplo n.º 15
0
        public void ParsingThrowsExceptionWhenUnknownFormat()
        {
            const char UnknownFormat = '9';

            var parser = new CommandLineArgumentsParser();
            var args   = new string[]
            {
                $"{CommandLineArguments.Keys.Compress}{UnknownFormat}",
                "file.bmp",
                "file.dds"
            };

            Assert.Throws <ArgumentException>(() => parser.Parse(args));
        }
Ejemplo n.º 16
0
        public void Parse_AllArgumentsAreValid_ReturnParameters()
        {
            var parameters = new FileReaderWriterParameters(String.Empty, string.Empty, new List <int>()
            {
                1
            });
            var args = new[] { string.Empty, string.Empty, "1" };

            var result = CommandLineArgumentsParser.Parse(args);

            Assert.That(result.InputPath, Is.EqualTo(parameters.InputPath));
            Assert.That(result.OutputPath, Is.EqualTo(parameters.OutputPath));
            Assert.That(result.Lines, Is.EqualTo(parameters.Lines));
        }
Ejemplo n.º 17
0
        public void ParsingCompressOption(char key, Type compressionFormatType)
        {
            var parser = new CommandLineArgumentsParser();
            var args   = new string[]
            {
                $"{CommandLineArguments.Keys.Compress}{key}",
                "file.bmp",
                "file.dds"
            };

            var result = parser.Parse(args);

            Assert.AreEqual(ImageOperation.Compress, result.Operation);
            Assert.IsNotNull(result.Format);
            Assert.AreEqual(compressionFormatType, result.Format.GetType());
            Assert.AreEqual("file.bmp", result.BMPFileName);
            Assert.AreEqual("file.dds", result.DDSFileName);
        }
Ejemplo n.º 18
0
        public void ParseDecompressOption()
        {
            var parser = new CommandLineArgumentsParser();
            var args   = new string[]
            {
                CommandLineArguments.Keys.Decompress,
                "file.bmp",
                "file.dds"
            };

            var result = parser.Parse(args);

            Assert.AreEqual(ImageOperation.Decompress, result.Operation);
            Assert.IsNull(result.Format);
            Assert.IsFalse(result.Overwrite);
            Assert.AreEqual("file.bmp", result.BMPFileName);
            Assert.AreEqual("file.dds", result.DDSFileName);
        }
Ejemplo n.º 19
0
        public void ParseOverwriteOption()
        {
            var parser = new CommandLineArgumentsParser();
            var args   = new string[]
            {
                $"{CommandLineArguments.Keys.Compress}{CommandLineArguments.Keys.BC1Format}",
                CommandLineArguments.Keys.Overwrite,
                "file.bmp",
                "file.dds"
            };

            var result = parser.Parse(args);

            Assert.AreEqual(ImageOperation.Compress, result.Operation);
            Assert.IsNotNull(result.Format);
            Assert.IsTrue(result.Overwrite);
            Assert.AreEqual("file.bmp", result.BMPFileName);
            Assert.AreEqual("file.dds", result.DDSFileName);
        }
Ejemplo n.º 20
0
        static void Main(string[] args)
        {
            ICommandLineArgumentsParser parser = new CommandLineArgumentsParser();
            IPrinter printer     = new Printer.Printer();
            var      spreadSheet = new SpreadSheet();

            while (true)
            {
                Console.Write("enter command: ");
                var input = Console.ReadLine();
                try
                {
                    var parseResult = parser.Parse(input);
                    var command     = parseResult.Command;
                    var validator   = parseResult.Validator;
                    command.ExecuteCommand(spreadSheet, validator);
                    printer.Print(spreadSheet);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
        }
 private static CommandLineArguments Parse(params string[] args)
 {
     return(CommandLineArgumentsParser.Parse(Array.AsReadOnly(args)));
 }
 public void CannotParseNull()
 {
     Assert.Throws <ArgumentNullException>("args", () => CommandLineArgumentsParser.Parse(null));
 }
Ejemplo n.º 23
0
        public void Parse_OneOfLineNumberIsNotPositive_ThrowArgumentsException()
        {
            var args = new[] { string.Empty, string.Empty, "-1" };

            Assert.That(() => CommandLineArgumentsParser.Parse(args), Throws.ArgumentException);
        }
Ejemplo n.º 24
0
        public void Parse_AmountOfArgumentsLessThanThree_ThrowArgumentsException()
        {
            var args = new[] { string.Empty, string.Empty };

            Assert.That(() => CommandLineArgumentsParser.Parse(args), Throws.ArgumentException);
        }