コード例 #1
0
        /// <summary>
        /// Default constructor.
        /// Initializes all arguments values, populating the public fields with data parsed from arguments list.
        /// </summary>
        /// <param name="args">Program arguments</param>
        public ProgramOptions(string[] args)
        {
            _args = args;

            if (!args.Contains(SourceInlineParam) && !args.Contains(SourceFileParam))
            {
                throw new ArgumentException($"Either {SourceInlineParam} or {SourceFileParam} argument should be provided");
            }

            if (args.Contains(SourceInlineParam))
            {
                Inputs      = GetTwoArgumentsValuesByName(SourceInlineParam);
                InputsBytes = ReadBytesFromArguments();
            }
            else
            {
                Inputs      = GetTwoArgumentsValuesByName(SourceFileParam);
                InputsBytes = ReadBytesFromFiles();
            }

            string method = GetArgumentValueByName(MethodParam);

            CalculatorStrategy = GetHammingDistanceCalculatorStrategy(method);
        }
コード例 #2
0
 public HammingCalculatorHelper(IHammingDistanceCalculatorStrategy hammingDistanceCalculatorStrategy)
 {
     _hammingDistanceCalculatorStrategy = hammingDistanceCalculatorStrategy;
 }