public int[] TwoSum(int[] nums, int target, AlgorithmToUse algorithmToUse = AlgorithmToUse.HashOnePass) { switch (algorithmToUse) { case AlgorithmToUse.BruteForce: return(BruteForce(nums, target)); case AlgorithmToUse.HashOnePass: return(HashOnePass(nums, target)); default: return(BruteForce(nums, target)); } }
public void TwoSum_Positive_ShouldWork(int[] nums, int target, int[] expected, AlgorithmToUse algorithmToUse) { var actual = new Solution().TwoSum(nums, target, algorithmToUse); Assert.AreEqual(JsonConvert.SerializeObject(expected), JsonConvert.SerializeObject(actual), $"Unexpected output. Expected: {JsonConvert.SerializeObject(expected)} but actual is " + $"{JsonConvert.SerializeObject(actual)} "); }