static int RunWithOptions(CalculationOptions calculationOptions) { Console.WriteLine("========================"); Console.WriteLine($"EnableThreadingAfterXCharacters: {calculationOptions.EnableThreadingAfterXCharacters}"); Console.WriteLine($"MinimumCharactersPerThread: {calculationOptions.MinimumCharactersPerThread}"); Console.WriteLine("========================"); var numberOfFailures = 0; for (var i = 0; i < NUMBER_OF_CHECKS; i++) { var source = WordGenerator.GenerateWord(WORD_LENGTH); var target = WordGenerator.GenerateWord(WORD_LENGTH); var baseline = Benchmarks.LevenshteinBaseline.GetDistance(source, target); var quickenshtein = Levenshtein.GetDistance(source, target); if (baseline != quickenshtein) { Console.WriteLine($"FAILED ({i + 1}): Expected {baseline}, Actual {quickenshtein}"); Console.WriteLine($"Source: {source}"); Console.WriteLine($"Target: {target}"); numberOfFailures++; } } Console.WriteLine("========================"); Console.WriteLine($"Number of Failures: {numberOfFailures}"); Console.WriteLine("========================"); Console.WriteLine(); return(numberOfFailures); }
public void Run() { var source = WordGenerator.GenerateWord(WORD_LENGTH); var target = WordGenerator.GenerateWord(WORD_LENGTH); Console.WriteLine($"Source Word: {source}"); Console.WriteLine($"Target Word: {target}"); for (var i = 0; i < ITERATIONS; i++) { Levenshtein.GetDistance(source, target); } Console.WriteLine("Done!"); }