Exemplo n.º 1
0
        public void Test_Intersect_Between_Arrays_Comparison_Binary_Search()
        {
            long averageMs    = 0;
            long averageTicks = 0;
            int  count        = 0;

            Console.WriteLine("Test_Intersect_Between_Arrays_Binary_Search_Average");
            for (var i = 0; i < COMPARISON_LOOP; i++)
            {
                var stopWatch = new Stopwatch();

                stopWatch.Start();
                var intersection = Intersector.IntersectionWithBinarySearch(colorsArray, namesArray,
                                                                            formatFunction: (i1, i2) => new string[] { i1[0], i1[1], i2[1] });
                stopWatch.Stop();
                Console.WriteLine($"Ran in {stopWatch.ElapsedTicks} ticks,{stopWatch.ElapsedMilliseconds}ms");
                if (i != 0)
                {
                    averageTicks += stopWatch.ElapsedTicks;
                    averageMs    += stopWatch.ElapsedMilliseconds;
                    count++;
                }
            }

            averageMs    = averageMs / count;
            averageTicks = averageTicks / count;

            Console.WriteLine($"Average in {averageTicks} ticks,{averageMs}ms");
        }
Exemplo n.º 2
0
        public void Test_Intersect_Between_Arrays_Binary_Search()
        {
            var intersection = Intersector.IntersectionWithBinarySearch(colorsArray, namesArray,
                                                                        formatFunction: (i1, i2) => new string[] { i1[0], i1[1], i2[1] });

            var result = string.Join("\r\n", intersection.Select(x => $"{x[0]},{x[1]},{x[2]}"));

            Assert.AreEqual(expectedResult, result);
        }