public static void Main(string[] args) { // Parses all program arguments into ProgramOptions object var options = new ProgramOptions(args); //Creates a Hamming Calculator instance basead on the current strategy var hammingCalculator = new HammingCalculatorHelper(options.CalculatorStrategy); //Calculates the Hamming Distance according to the 2 inputs var watch = Stopwatch.StartNew(); var distance = hammingCalculator.CalculateDistance(options.InputsBytes.Item1, options.InputsBytes.Item2); watch.Stop(); // Writes the calculation inputs and results to console Console.WriteLine("Calculating Hamming Distance for the inputs below:"); Console.WriteLine($"Input 1: {options.Inputs.Item1}"); Console.WriteLine($"Input 2: {options.Inputs.Item2}"); Console.WriteLine($"Strategy: {options.CalculatorStrategy.ToString()}"); Console.WriteLine(); Console.WriteLine($"Hamming distance for the provided inputs is {distance}."); Console.WriteLine(); Console.WriteLine($"Elapsed Milliseconds: {watch.ElapsedMilliseconds}"); }
public void Initialize() { _hammingDistanceCalculatorStrategyMock = new Mock <IHammingDistanceCalculatorStrategy>(); _hammingCalculatorHelper = new HammingCalculatorHelper(_hammingDistanceCalculatorStrategyMock.Object); }