Пример #1
0
        public void WhenConstructorZero_ShouldPopulateNoPrimes()
        {
            var primes = new PrimesModel(0);

            CollectionAssert.AreEqual(new List <long> {
            }, primes.Primes);
            Assert.AreEqual(0, primes.NumberOfPrimes);
            Assert.AreEqual(0, primes.GetPrimeTableAt(2, 2));
        }
Пример #2
0
        public void WhenConstructor1Prime_ShouldPopulateAppropiately()
        {
            var primes = new PrimesModel(1);

            CollectionAssert.AreEqual(new List <long> {
                2
            }, primes.Primes);
            Assert.AreEqual(1, primes.NumberOfPrimes);
            Assert.AreEqual(expected11x11PrimesTable[1, 1], primes.GetPrimeTableAt(1, 1));
        }
Пример #3
0
        public void WhenPopulatePrimes3Prime_ShouldPopulateAppropiately()
        {
            var primes = new PrimesModel(0);

            primes.PopulatePrimes(3);
            CollectionAssert.AreEqual(new List <long> {
                2, 3, 5
            }, primes.Primes);
            Assert.AreEqual(3, primes.NumberOfPrimes);
            Assert.AreEqual(expected11x11PrimesTable[2, 1], primes.GetPrimeTableAt(2, 1));
        }
Пример #4
0
        public void WhenConstructor10Prime_ShouldPopulateAppropiately()
        {
            var primes = new PrimesModel(10);

            CollectionAssert.AreEqual(new List <long> {
                2, 3, 5, 7, 11, 13, 17, 19, 23, 29
            }, primes.Primes);
            Assert.AreEqual(10, primes.NumberOfPrimes);
            Assert.AreEqual(expected11x11PrimesTable[3, 2], primes.GetPrimeTableAt(3, 2));
            Assert.AreEqual(expected11x11PrimesTable[4, 7], primes.GetPrimeTableAt(4, 7));
            Assert.AreEqual(expected11x11PrimesTable[9, 9], primes.GetPrimeTableAt(9, 9));
        }
Пример #5
0
        public void WhenPopulatePrimes10Prime_ShouldPopulateAppropiately()
        {
            var primes = new PrimesModel(-5);

            primes.PopulatePrimes(10);
            CollectionAssert.AreEqual(new List <long> {
                2, 3, 5, 7, 11, 13, 17, 19, 23, 29
            }, primes.Primes);
            Assert.AreEqual(10, primes.NumberOfPrimes);
            Assert.AreEqual(expected11x11PrimesTable[0, 1], primes.GetPrimeTableAt(0, 1));
            Assert.AreEqual(expected11x11PrimesTable[5, 3], primes.GetPrimeTableAt(5, 3));
            Assert.AreEqual(expected11x11PrimesTable[8, 9], primes.GetPrimeTableAt(8, 9));
        }
Пример #6
0
        public void WhenConstructorNegative_ShouldPopulateNoPrimes()
        {
            var primes = new PrimesModel(-1);

            CollectionAssert.AreEqual(new List <long> {
            }, primes.Primes);
            Assert.AreEqual(0, primes.NumberOfPrimes);
            Assert.AreEqual(0, primes.GetPrimeTableAt(0, 0));

            primes = new PrimesModel(-500);
            CollectionAssert.AreEqual(new List <long> {
            }, primes.Primes);
            Assert.AreEqual(0, primes.NumberOfPrimes);
            Assert.AreEqual(0, primes.GetPrimeTableAt(1, 2));
        }
Пример #7
0
        public void WhenPopulatePrimesNegative_ShouldPopulateNoPrimes()
        {
            var primes = new PrimesModel(3);

            primes.PopulatePrimes(-1);
            CollectionAssert.AreEqual(new List <long> {
            }, primes.Primes);
            Assert.AreEqual(0, primes.NumberOfPrimes);
            Assert.AreEqual(0, primes.GetPrimeTableAt(0, 1));

            primes = new PrimesModel(7);
            primes.PopulatePrimes(-239);
            CollectionAssert.AreEqual(new List <long> {
            }, primes.Primes);
            Assert.AreEqual(0, primes.NumberOfPrimes);
            Assert.AreEqual(0, primes.GetPrimeTableAt(3, 0));
        }
Пример #8
0
        static public void Main(string[] args)
        {
            Console.WriteLine(TextResources.Welcome);

            while (true)
            {
                int input      = GetInput();
                var primeModel = new PrimesModel(input);

                if (primeModel.NumberOfPrimes > 0)
                {
                    for (int primeRow = 0; primeRow < primeModel.NumberOfPrimes; primeRow++)
                    {
                        for (int primeCol = 0; primeCol < primeModel.NumberOfPrimes; primeCol++)
                        {
                            Console.Write("| ");
                            if (primeModel.GetPrimeTableAt(primeRow, primeCol) > 0)
                            {
                                Console.Write(primeModel.GetPrimeTableAt(primeRow, primeCol));
                            }
                            Console.Write("\t");
                        }
                        Console.WriteLine("|");
                    }
                }

                Console.WriteLine("Calculation Time: " + primeModel.CalculationTime.TotalSeconds + " secs");
                Console.WriteLine();
                Console.WriteLine(TextResources.Exit);
                var keyPressed = Console.ReadKey(true);
                if (keyPressed.KeyChar == 'y' || keyPressed.KeyChar == 'Y')
                {
                    break;
                }
            }
        }
Пример #9
0
        public void WhenCalculating100Primes_ShouldHaveCalculationTimeOverZero()
        {
            var primes = new PrimesModel(100);

            Assert.IsTrue(primes.CalculationTime.TotalSeconds > 0);
        }