Exemplo n.º 1
0
 public IEnumerable <Tuple <int, TimeSpan> > Test(IAlgorithm <int[], int[]> algo)
 {
     foreach (var array in _generator.GenerateTestArrays())
     {
         var watch = Stopwatch.StartNew();
         algo.Process(array);
         watch.Stop();
         yield return(new Tuple <int, TimeSpan>(array.Length, watch.Elapsed));
     }
 }
Exemplo n.º 2
0
        public void TestRandomArray()
        {
            var dataGenerator = new ArrayGenerator(100, 1000, 1, 0, 10);

            foreach (var array in dataGenerator.GenerateTestArrays())
            {
                var expectedResult = array.GroupBy(i => i).Select(gb => new Tuple <int, int>(gb.Key, gb.Count())).ToArray();

                var inputRdd  = new FromMemoryRdd <int>(array);
                var mapRdd    = inputRdd.MapToPair((i) => new Tuple <int, int>(i, 1));
                var reduceRdd = mapRdd.ReduceByKey((i1, i2) => i1 + i2);

                var result = new RDDProcessor <int, Tuple <int, int> >().Process(reduceRdd).ToArray();

                CollectionAssert.AreEquivalent(expectedResult, result);
            }
        }