public void GetProbabilityValuesForHistogramTest()
        {
            // We will pass in a sorted sequence of 10 pairs of values, each pair has an iterator
            // numbered 0-9, and a corresponding value between 0-4, which repeats after each increment
            // of five by the iterator, so each pair has one duplicate value in the sequence
            // (e.g., (0,0),(1,1),(2,2),...(5,0),(6,1),(7,2),...(9,4) ).
            // The GetProbabilityValues method calculates the number of packet counts (the pair values),
            // then calculates the probability for each pair value, and returns a sorted sequence of
            // pairs with the probability for each pair value.
            // So we should get back a sequence of five pairs with the probabilities for the original
            // pair values.  For example, since the pair values total 20, the probability for a value
            // of 2 is 2/20 = 0.1.  So the returned sequence should be (0,0),(1,0.1),(2,0.2),(3,0.3),(4,0.4).

            // Arrange
            Dictionary<int, int> histogram = new Dictionary<int, int>();
            for (int i = 0; i < 10; i++)
            {
                histogram.Add(i,i % 5);
            }

            CalculateProbability cp = new CalculateProbability(histogram);

            // Act
            Dictionary<int, decimal> sortedProbabilities = new Dictionary<int, decimal>();
            sortedProbabilities = cp.GetProbabilityValues();

            bool results = true;
            if(sortedProbabilities.Count != 5)
            {
                results = false;
            }

            decimal expectedProbability = 0M;

            foreach (var pair in sortedProbabilities)
            {
                if(pair.Value != expectedProbability)
                {
                    results = false;
                }
                expectedProbability = expectedProbability + 0.1M;
            }

            // Assert
            Assert.IsTrue(results);
        }