public void CreateInstanceShouldReturnInstanceOfExpectedType(HammingDistanceStrategies strategy, Type expectedType) { // Act var result = HammingDistanceCalculatorFactory.CreateInstance(strategy); // Assert Assert.IsInstanceOfType(result, expectedType); }
/// <summary> /// Instantiates the proper calculator strategy based on "-method" argument provided to the application. /// If the "-method" argument is not provided or is not recognized, Standard strategy is adopted. /// </summary> /// <param name="method">Method argument value provided to the console application</param> /// <returns>An instance of the selected IHammingDistanceCalculatorStrategy</returns> private static IHammingDistanceCalculatorStrategy GetHammingDistanceCalculatorStrategy(string method) { if (!string.IsNullOrEmpty(method)) { if (Enum.TryParse(typeof(HammingDistanceStrategies), method, out object strategyInput)) { return(HammingDistanceCalculatorFactory.CreateInstance((HammingDistanceStrategies)strategyInput)); } } return(HammingDistanceCalculatorFactory.CreateInstance(HammingDistanceStrategies.Standard)); }
public void Initialize() { _hammingDistanceCalculatorFactory = new HammingDistanceCalculatorFactory(); }