コード例 #1
0
        public void Given_LessThanOneArraySize_Then_Return_EmptyArray(int arraySize)
        {
            IPrimeService primeNumbers = new PrimeService();
            var           primeArray   = primeNumbers.GetPrimeNumbers(arraySize);

            Assert.Empty(primeArray);
        }
コード例 #2
0
        static void Main(string[] args)
        {
            int number = 0;

            while (true)
            {
                Console.Write("Enter size of Prime Numbers Multiplication Table: ");
                if (Int32.TryParse(Console.ReadLine(), out number))
                {
                    if (number >= 1)
                    {
                        break;
                    }
                    else
                    {
                        InvalidNumberError();
                    }
                }
                else
                {
                    InvalidNumberError();
                }
            }
            ;
            IPrimeService myPrimeCalculator = new PrimeService();
            IPrint        consoleDisplay    = new ConsolePrint();
            var           primeNumbers      = myPrimeCalculator.GetPrimeNumbers(number).ToArray();
            var           primeArray        = myPrimeCalculator.GetPrimeMultiplcationTable(primeNumbers);

            consoleDisplay.Print(primeArray);
            Console.ReadKey();
        }
コード例 #3
0
        public void Given_ValidArraySize_Then_DoNotReturn_CompositeNumbers(int arraySize)
        {
            IPrimeService primeNumbers = new PrimeService();
            var           primeArray   = primeNumbers.GetPrimeNumbers(arraySize);

            Assert.Equal(arraySize, primeArray.Count);
            Assert.DoesNotContain(4, primeArray);
        }
コード例 #4
0
        public void Given_ValidArraySize_Then_Return_PrimeNumbers(int arraySize)
        {
            IPrimeService primeNumbers = new PrimeService();
            var           primeArray   = primeNumbers.GetPrimeNumbers(arraySize);

            Assert.Equal(arraySize, primeArray.Count);
            Assert.Contains(2, primeArray);
        }
コード例 #5
0
        public void Given_GreaterThanOneInput_Then_Return_CorrectArrayCount()
        {
            var arraySize = 5;

            IPrimeService primeNumbers = new PrimeService();
            var           primeArray   = primeNumbers.GetPrimeNumbers(arraySize);

            Assert.Equal(arraySize, primeArray.Count);
        }
コード例 #6
0
        async void ExecuteCalculatePrimeCommand()
        {
            PrimeService ps = new PrimeService();

            Files.Clear();
            // correct solution
            var numbers = await ps.GetPrimeNumbersAsync(1, 10000); // not faster, but not blocking (its even slower): 40ms

            // eventhough these 2 statements only take 30ms, those will block the ui
            // we can avoid it, by using Task.Start(() => {..}) here
            // correct solution
            numbers = ps.GetPrimeNumbers(1, 10000); // 30ms
            // wrong order
            numbers = ps.GetPrimeNumbersParallel(1, 10000);
            // first call: 25ms
            // very fast at second call<. 4ms (Thread creation is very performance intensive)
            foreach (var prime in numbers)
            {
                Files.Add(prime.ToString());
            }
        }