Exemple #1
0
        public static FibonacciGenerator BuildGenerator(Type dictType)
        {
            var generator = new FibonacciGenerator();

            switch (dictType)
            {
            case Type.Sorted:
                generator._cache = new SortedDictionary <int, BigInteger>();
                break;

            case Type.Hash:
                generator._cache = new Dictionary <int, BigInteger>();
                break;

            case Type.ConcurrentHash:
                generator._cache = new ConcurrentDictionary <int, BigInteger>();
                break;
            }

            return(generator);
        }
 public void Iteration()
 {
     Assert.AreEqual(Result, FibonacciGenerator.FibonacciNumber(N));
 }
        public void HashConcurrent()
        {
            var gen = FibonacciGenerator.BuildGenerator(Type.ConcurrentHash);

            Assert.AreEqual(Result, gen.FibFromCache(N));
        }
        public void Sorted()
        {
            var gen = FibonacciGenerator.BuildGenerator(Type.Sorted);

            Assert.AreEqual(Result, gen.FibFromCache(N));
        }
 public void Recursive()
 {
     Assert.AreEqual(Result, (BigInteger)FibonacciGenerator.Fib(N));
 }