示例#1
0
        public void FindAmountOfPrimesTestWithMaxRangeInteger()
        {
            SieveOfAtkinPrimeGenerator primeGenerator = new SieveOfAtkinPrimeGenerator();
            IList <long> primesGenerated = primeGenerator.FindAmountOfPrimes(primeGenerator.MaxPrimeLimit);

            Assert.AreEqual(primeGenerator.MaxPrimeLimit, primesGenerated.Count);
        }
示例#2
0
        public void FindAmountOfPrimesTestAccuracy()
        {
            SieveOfAtkinPrimeGenerator primeGenerator = new SieveOfAtkinPrimeGenerator();

            IList <long> primesGenerated = primeGenerator.FindAmountOfPrimes(10000);

            // 141st prime is 811
            Assert.IsTrue(primesGenerated.Any(prime => prime == 811));
            Assert.AreEqual(140, primesGenerated.IndexOf(811));

            // 1714th prime is 14633
            Assert.IsTrue(primesGenerated.Any(prime => prime == 14633));
            Assert.AreEqual(1713, primesGenerated.IndexOf(14633));

            // 4640th prime is 44741
            Assert.IsTrue(primesGenerated.Any(prime => prime == 44741));
            Assert.AreEqual(4649, primesGenerated.IndexOf(44741));

            // 6766th prime is 67933
            Assert.IsTrue(primesGenerated.Any(prime => prime == 67933));
            Assert.AreEqual(6765, primesGenerated.IndexOf(67933));

            // 9032nd prime is 93523
            Assert.IsTrue(primesGenerated.Any(prime => prime == 93523));
            Assert.AreEqual(9031, primesGenerated.IndexOf(93523));

            // 10000th prime is 104729
            Assert.IsTrue(primesGenerated.Any(prime => prime == 104729));
            Assert.AreEqual(9999, primesGenerated.IndexOf(104729));
        }
示例#3
0
        public void FindAmountOfPrimesTestAmountGenerated()
        {
            SieveOfAtkinPrimeGenerator primeGenerator = new SieveOfAtkinPrimeGenerator();

            IList <long> primesGenerated = primeGenerator.FindAmountOfPrimes(100000);

            Assert.AreEqual(100000, primesGenerated.Count);
        }
示例#4
0
        public void FindAmountOfPrimesTestPerformance()
        {
            SieveOfAtkinPrimeGenerator primeGenerator = new SieveOfAtkinPrimeGenerator();

            Stopwatch stopWatch = new Stopwatch();

            stopWatch.Start();
            primeGenerator.FindAmountOfPrimes(primeGenerator.MaxPrimeLimit);

            TimeSpan generationDuration = stopWatch.Elapsed;

            Assert.IsTrue(generationDuration < TimeSpan.FromSeconds(10));
        }
示例#5
0
        public void FindAmountOfPrimesTestOutOfRangeGreaterThanMax()
        {
            SieveOfAtkinPrimeGenerator primeGenerator = new SieveOfAtkinPrimeGenerator();

            primeGenerator.FindAmountOfPrimes(primeGenerator.MaxPrimeLimit + 1);
        }
示例#6
0
        public void FindAmountOfPrimesWithOutOfRangeZero()
        {
            SieveOfAtkinPrimeGenerator primeGenerator = new SieveOfAtkinPrimeGenerator();

            primeGenerator.FindAmountOfPrimes(0);
        }
示例#7
0
        public void FindAmountOfPrimesTestWithOutOfRangeNegative()
        {
            SieveOfAtkinPrimeGenerator primeGenerator = new SieveOfAtkinPrimeGenerator();

            primeGenerator.FindAmountOfPrimes(-1);
        }