Example #1
0
        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);
        }
Example #2
0
        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!");
        }