Exemplo n.º 1
0
        public void GivenAValueOfTwo_TheExpectedResultIsAListContainingOnlyTwo()
        {
            var Two = 2;

            var result = Primes.FindPrimes(Two);

            Assert.IsTrue(result[0] is 2);
        }
Exemplo n.º 2
0
        public void GivenAValueOfThree_TheExpectedResultIsAListContainingOnlyTwoAndThree()
        {
            var Three = 3;

            var result = Primes.FindPrimes(Three);

            Assert.IsTrue(result[0] is 2 && result[1] is 3);
        }
Exemplo n.º 3
0
        public void GivenAValueOfOne_TheExpectedResultIsAnEmptyList()
        {
            // Arrange - Setup the values for the function
            var One = 1;

            // Act - Perform an operation
            var result = Primes.FindPrimes(One);

            // Assert - Check for validity
            Assert.IsTrue(empty.Count.Equals(result.Count) && empty.Count is 0);
        }
Exemplo n.º 4
0
        public void GivenAValueOfZero_TheExpectedResultIsAnEmptyList()
        {
            // Arrange - Setup the values for the function
            var Zero = 0;

            // Act - Perform an operation
            var result = Primes.FindPrimes(Zero);

            // Assert - Check for validity
            Assert.IsTrue(empty.Count == result.Count && empty.Count == 0);
        }
Exemplo n.º 5
0
        public void GivenAValueOfTen_TheExpectedResultIsAListOfTwoThreeFiveSeven()
        {
            var value = 10;

            var result = Primes.FindPrimes(value);

            Assert.IsTrue(
                result[0] is 2 &&
                result[1] is 3 &&
                result[2] is 5 &&
                result[3] is 7);
        }
Exemplo n.º 6
0
        public void GivenAValueOfThirteen_TheExpectedResultIsAListOfPrimesUpToAndIncludingThirteen()
        {
            var value = 13;

            var result = Primes.FindPrimes(value);

            Assert.IsTrue(
                result[0] is 2 &&
                result[1] is 3 &&
                result[2] is 5 &&
                result[3] is 7 &&
                result[4] is 11 &&
                result[5] is 13);
        }
Exemplo n.º 7
0
        private static void FindPrimes(object obj)
        {
            var range  = (Range)obj;
            var primes = new Primes();

            var stopwatch = new Stopwatch();

            stopwatch.Start();

            var primeNumbers = primes.FindPrimes(range.Start.Value, range.End.Value);

            stopwatch.Stop();
            Console.WriteLine("Primes : {0} at {1}", primeNumbers.Count, stopwatch.Elapsed);
        }
Exemplo n.º 8
0
        private static void SingleThreadTest()
        {
            var primes = new Primes();

            var stopwatch = new Stopwatch();

            stopwatch.Start();

            var primes1 = primes.FindPrimes(1, 100_000);
            var primes2 = primes.FindPrimes(100_000, 150_000);
            var primes3 = primes.FindPrimes(150_000, 200_000); // 2.1 sec

            stopwatch.Stop();

            Console.WriteLine("Primes : {0}", primes1.Count + primes2.Count + primes3.Count);
            Console.WriteLine("Elapsed : {0}", stopwatch.Elapsed);
        }
Exemplo n.º 9
0
        private static void SingleThreadTest()
        {
            //PrintThreadDetails();
            var comp = new Primes();

            var stopwatch = new Stopwatch();

            stopwatch.Start();

            var primes1 = comp.FindPrimes(1, 100_000);
            var primes2 = comp.FindPrimes(100_000, 150_000);
            var primes3 = comp.FindPrimes(150_000, 200_000); // 8.3 sec

            stopwatch.Stop();

            Console.WriteLine("Primes : {0}", primes1.Count + primes2.Count + primes3.Count);
            Console.WriteLine("Elapsed : {0}", stopwatch.Elapsed);
        }
Exemplo n.º 10
0
        private static void FindPrimes(object obj)
        {
            PrintThreadDetailsLock();

            var range = (Range)obj;
            var comp  = new Primes();

            var stopwatch = new Stopwatch();

            stopwatch.Start();

            var primes = comp.FindPrimes(range.Start.Value, range.End.Value);

            stopwatch.Stop();
            Console.WriteLine("Primes : {0}", primes.Count);
            Console.WriteLine("Elapsed : {0}", stopwatch.Elapsed);

            // DEMO: decrement thread-sync counter
            Waiter.Signal();
        }
Exemplo n.º 11
0
        private static void FindPrimes(object obj)
        {
            // DEMO : concurrent access to shared resource (Console)
            //PrintThreadDetails();
            PrintThreadDetailsLock();

            var range = (Range)obj;
            var comp  = new Primes();

            var stopwatch = new Stopwatch();

            stopwatch.Start();

            var primes = comp.FindPrimes(range.Start.Value, range.End.Value);

            // DEMO: Unhandled exception in thread
            //throw new InvalidOperationException("Oops!");

            stopwatch.Stop();
            Console.WriteLine("Primes : {0}", primes.Count);
            Console.WriteLine("Elapsed : {0}", stopwatch.Elapsed);
        }