Ejemplo n.º 1
0
        //Another integration test
        public void GetResults_ShouldReturnCorrectCount_WhenPassedThePlacesYoullGo()
        {
            //Arrange
            IFileReader            fileReader            = new FileReader();
            IWordCounter           wordCounter           = new WordCounter();
            IPrimeNumberCalculator primeNumberCalculator = new PrimeNumberCalculator();
            IOutputGenerator       outputGenerator       = new OutputGenerator();
            var compareTheWords = new CompareTheWords(fileReader, wordCounter, primeNumberCalculator, outputGenerator);
            var input           = "ThePlacesYou'llGo.txt";
            var expectedOutput  = new List <string>()           //Used http://www.writewords.org.uk/word_count.asp to verify the results
            {
                "you, 22, False",
                "and, 16, False",
                "youll, 15, False",
                "your, 13, True",
                "to, 10, False",
                "the, 9, False",
                "go, 8, False",
                "be, 6, False",
                "of, 6, False",
                "great, 5, True"
            };

            //Act
            var actualOutput = compareTheWords.Compare(input);

            //Assert
            CollectionAssert.AreEquivalent(expectedOutput, actualOutput.Take(10));
        }
Ejemplo n.º 2
0
        public void PrimeNumberCalculatorTest()
        {
            long[] primes =
            {
                2,     3,   5,   7,  11,  13,  17,  19,  23, 29, 31, 37,
                41,   43,  47,  53,  59,  61,  67,  71,  73, 79, 83,
                89,   97, 101, 103, 107, 109, 113, 127, 131,
                137, 139, 149, 151, 157, 163, 167, 173, 179,
                181, 191, 193, 197, 199, 211, 223, 227, 229,
                233, 239, 241, 251, 257, 263, 269, 271, 277,
                281, 283, 293, 307, 311, 313, 317, 331, 337,
                347, 349, 353, 359, 367, 373, 379, 383, 389,
                397, 401, 409, 419, 421, 431, 433, 439, 443,
                449, 457, 461, 463, 467, 479, 487, 491, 499,
                503, 509, 521, 523, 541, 547, 557, 563, 569,
                571, 577, 587, 593, 599, 601, 607, 613, 617,
                619, 631, 641, 643, 647, 653, 659, 661, 673,
                677, 683, 691, 701, 709, 719, 727, 733, 739,
                743, 751, 757, 761, 769, 773, 787, 797, 809,
                811, 821, 823, 827, 829, 839, 853, 857, 859,
                863, 877, 881, 883, 887, 907, 911, 919, 929,
                937, 941, 947, 953, 967, 971, 977, 983, 991, 997
            };
            LinkedList <long> expected = new LinkedList <long>(primes);

            PrimeNumberCalculator.Reset();
            PrimeNumberCalculator.FindPrimesLowerThan(1000L);
            LinkedList <long> result = PrimeNumberCalculator.GetPrimes();

            CollectionAssert.AreEqual(expected, result);
        }
Ejemplo n.º 3
0
        public void CompareTheTextFile_ShouldReturnCorrectResults_WhenPassedRailwayChildren()
        {
            //Arrange
            IFileReader            fileReader            = new FileReader();
            IWordCounter           wordCounter           = new WordCounter();
            IPrimeNumberCalculator primeNumberCalculator = new PrimeNumberCalculator();
            IOutputGenerator       outputGenerator       = new OutputGenerator();
            var compareTheWords = new CompareTheWords(fileReader, wordCounter, primeNumberCalculator, outputGenerator);
            var input           = "RailwayChildren.txt";
            var expectedOutput  = new []
            {
                "the, 3344, False",
                "and, 2390, False",
                "to, 1525, False",
                "a, 1157, False",
                "said, 1141, False",
            };

            //Act
            var actualOutput     = compareTheWords.Compare(input);
            var actualOutputTop5 = actualOutput.Take(5).ToList();

            //Assert
            CollectionAssert.AreEquivalent(expectedOutput, actualOutputTop5);
        }
Ejemplo n.º 4
0
        public void CompareTheTextFile_ShouldReturnWordFrequencyAndIsPrime_WhenPassedTwoCopiesOfWarAndPeace()
        {
            //Arrange
            IFileReader            fileReader            = new FileReader();
            IWordCounter           wordCounter           = new WordCounter();
            IPrimeNumberCalculator primeNumberCalculator = new PrimeNumberCalculator();
            IOutputGenerator       outputGenerator       = new OutputGenerator();
            var compareTheWords = new CompareTheWords(fileReader, wordCounter, primeNumberCalculator, outputGenerator);
            var input           = "TwoCopiesOfWarAndPeace.txt";
            var expectedOutput  = new []
            {
                "the, 69124, False",
                "and, 44296, False",
                "to, 33418, False",
                "of, 29980, False",
                "a, 21026, False",
            };

            //Act
            var actualOutput     = compareTheWords.Compare(input);
            var actualOutputTop5 = actualOutput.Take(5).ToList();

            //Assert
            CollectionAssert.AreEquivalent(expectedOutput, actualOutputTop5);
        }
Ejemplo n.º 5
0
        public void CompareTheTextFile_ShouldReturnCorrectResult_WhenPassedWarAndPeace()
        {
            //Arrange
            IFileReader            fileReader            = new FileReader();
            IWordCounter           wordCounter           = new WordCounter();
            IPrimeNumberCalculator primeNumberCalculator = new PrimeNumberCalculator();
            IOutputGenerator       outputGenerator       = new OutputGenerator();
            var compareTheWords = new CompareTheWords(fileReader, wordCounter, primeNumberCalculator, outputGenerator);
            var input           = "WarAndPeace.txt";
            var expectedOutput  = new []
            {
                "the, 34562, False",
                "and, 22148, False",
                "to, 16709, False",
                "of, 14990, False",
                "a, 10513, True",
            };

            //Act
            var actualOutput     = compareTheWords.Compare(input);
            var actualOutputTop5 = actualOutput.Take(5).ToList();

            //Assert
            CollectionAssert.AreEquivalent(expectedOutput, actualOutputTop5);
        }
        private string IsPrimeNumberAsString(int number)
        {
            PrimeNumberCalculator calculator =
                new PrimeNumberCalculator(number);

            return(calculator.IsPrimeNumberAsString());
        }
Ejemplo n.º 7
0
 public void PrimeNumberCalculatorLookupTest()
 {
     PrimeNumberCalculator.Reset();
     PrimeNumberCalculator.FindPrimesLowerThan(1000000L);
     bool[] expected = { true, true, false, true, false, false };
     bool[] result   = { PrimeNumberCalculator.IsPrimeLookup(3), PrimeNumberCalculator.IsPrimeLookup(7919), PrimeNumberCalculator.IsPrimeLookup(7921), PrimeNumberCalculator.IsPrimeLookup(7919), PrimeNumberCalculator.IsPrimeLookup(8), PrimeNumberCalculator.IsPrimeLookup(7905) };
     CollectionAssert.AreEqual(expected, result);
 }
        public void GivenZeroItShouldReturnFalse()
        {
            var primeCalculator = new PrimeNumberCalculator();

            var result = primeCalculator.IsPrime(0);

            Assert.IsFalse(result);
        }
Ejemplo n.º 9
0
        public void GivenIAskForThe3rdPrimeNumberItShouldReturn5()
        {
            var primeCalculator = new PrimeNumberCalculator();

            var result = primeCalculator.GetNthPrime(3);

            Assert.AreEqual(5, result);
        }
Ejemplo n.º 10
0
        public void GivenNumberIsPrimeItShouldReturnTrue()
        {
            var primeCalculator = new PrimeNumberCalculator();

            var result = primeCalculator.IsPrime(3);

            Assert.IsTrue(result);
        }
Ejemplo n.º 11
0
        public WordFrequencyCounterIntegrationTests()
        {
            IFileReader            fileReader            = new FileReader();
            IWordCounter           wordCounter           = new WordCounter();
            IPrimeNumberCalculator primeNumberCalculator = new PrimeNumberCalculator();
            IOutputGenerator       outputGenerator       = new OutputGenerator();

            _compareTheWords = new CompareTheWords(fileReader, wordCounter, primeNumberCalculator, outputGenerator);
        }
Ejemplo n.º 12
0
        static void Main(string[] args)
        {
            var primeCalculator = new PrimeNumberCalculator();

            Console.WriteLine("Please Enter A Number: ");
            var input = Console.ReadLine();

            var number = int.Parse(input);

            Console.Write("The Nth Prime Number Is: " + primeCalculator.GetNthPrime(number));
            Console.ReadLine();
        }
Ejemplo n.º 13
0
        public void IsPrime_ShouldReturnFalse_WhenPassedKnownNonPrimes(
            [Values(1, 4, 9, 16, 50, 1738, 4004)] int input)
        {
            //Arrange
            var        primeNumberCalculator = new PrimeNumberCalculator();
            const bool expectedOutput        = false;

            //Act
            var actualOutput = primeNumberCalculator.IsPrime(input);

            //Assert
            Assert.AreEqual(expectedOutput, actualOutput);
        }
Ejemplo n.º 14
0
        public void IsPrime_ShouldReturnTrue_WhenPassedKnownPrimes(
            [Values(2, 3, 5, 47, 409, 4003)] int input)
        {
            //Arrange
            var        primeNumberCalculator = new PrimeNumberCalculator();
            const bool expectedOutput        = true;

            //Act
            var actualOutput = primeNumberCalculator.IsPrime(input);

            //Assert
            Assert.AreEqual(expectedOutput, actualOutput);
        }
Ejemplo n.º 15
0
        public void GetListOfPrimes_ShouldReturnCorrectBooleans_WhenPassedListOfIntegers()
        {
            //Arrange
            var input = new List <int> {
                1, 2, 97, 98
            };
            var primeNumberCalculator = new PrimeNumberCalculator();
            var expectedOutput        = new Dictionary <int, bool>
            {
                { 2, true },
                { 97, true }
            };

            //Act
            var actualOutput = primeNumberCalculator.GetListOfPrimes(input);

            //Assert
            CollectionAssert.AreEquivalent(expectedOutput, actualOutput);
        }
Ejemplo n.º 16
0
        public void GetDinstinctIntegers_ShouldReturnUniqueList_WhenPassedDuplicates()
        {
            //Arrange
            var primeNumberCalculator = new PrimeNumberCalculator();
            var input = new Dictionary <string, int> {
                { "you", 22 },
                { "to", 10 },
                { "fro", 10 },
                { "to", 10 },
                { "be", 7 },
                { "to", 7 },
            };
            var expectedOutput = new List <int> {
                12, 10, 7
            };

            //Act
            var actualOutput = primeNumberCalculator.GetDistinctIntegers(input);

            //Assert
            CollectionAssert.AreEquivalent(expectedOutput, actualOutput);
        }
Ejemplo n.º 17
0
        public void GetDinstinctIntegers_ShouldReturnDistinctValues_WhenPassedDictionary()
        {
            //Arrange
            var primeNumberCalculator = new PrimeNumberCalculator();
            var input = new Dictionary <string, int>
            {
                { "foo", 1 },
                { "bar", 1 },
                { "meerkat", 2 },
                { "ivan", 3 },
                { "sergei", 3 }
            };
            var expectedOutput = new List <int> {
                1, 2, 3
            };

            //Act
            var actualOutput = primeNumberCalculator.GetDistinctIntegers(input);

            //Assert
            CollectionAssert.AreEquivalent(expectedOutput, actualOutput);
        }
Ejemplo n.º 18
0
        public void GetPrimes_ShouldReturnCorrectPrimes_WhenPassedValidWordCount()
        {
            //Arrange
            var primeNumberCalculator = new PrimeNumberCalculator();
            var input = new Dictionary <string, int> {
                { "you", 22 },
                { "your", 13 },
                { "to", 10 },
                { "be", 7 },
                { "of", 6 },
                { "great", 5 }
            };
            var expectedOutput = new Dictionary <int, bool> {
                { 13, true },
                { 7, true },
                { 5, true }
            };

            //Act
            var actualOutput = primeNumberCalculator.CalculatePrimes(input);

            //Assert
            CollectionAssert.AreEquivalent(expectedOutput, actualOutput);
        }
        public void ItShouldReturn7GivenIPassIn5()
        {
            var primeCalculator = new PrimeNumberCalculator();

            Assert.AreEqual(7, primeCalculator.GetNextPrime(5));
        }
        public void ItShouldReturn83GivenIPassIn89()
        {
            var primeCalculator = new PrimeNumberCalculator();

            Assert.AreEqual(89, primeCalculator.GetNextPrime(83));
        }
        public void ItShouldReturn13GivenIPassIn17()
        {
            var primeCalculator = new PrimeNumberCalculator();

            Assert.AreEqual(17, primeCalculator.GetNextPrime(13));
        }
Ejemplo n.º 22
0
 public void Setup() => _calculator = new PrimeNumberCalculator();