bpo-36018: Add special value tests and make minor tweaks to the docs (GH-12096)



https://bugs.python.org/issue36018
diff --git a/Lib/statistics.py b/Lib/statistics.py
index bab5857..e917a5d 100644
--- a/Lib/statistics.py
+++ b/Lib/statistics.py
@@ -735,7 +735,7 @@
         return exp((x - self.mu)**2.0 / (-2.0*variance)) / sqrt(tau * variance)
 
     def cdf(self, x):
-        'Cumulative density function:  P(X <= x)'
+        'Cumulative distribution function:  P(X <= x)'
         if not self.sigma:
             raise StatisticsError('cdf() not defined when sigma is zero')
         return 0.5 * (1.0 + erf((x - self.mu) / (self.sigma * sqrt(2.0))))
diff --git a/Lib/test/test_statistics.py b/Lib/test/test_statistics.py
index d35cdd8..4adc5e4 100644
--- a/Lib/test/test_statistics.py
+++ b/Lib/test/test_statistics.py
@@ -2113,6 +2113,10 @@
         Y = NormalDist(100, 0)
         with self.assertRaises(statistics.StatisticsError):
             Y.pdf(90)
+        # Special values
+        self.assertEqual(X.pdf(float('-Inf')), 0.0)
+        self.assertEqual(X.pdf(float('Inf')), 0.0)
+        self.assertTrue(math.isnan(X.pdf(float('NaN'))))
 
     def test_cdf(self):
         NormalDist = statistics.NormalDist
@@ -2127,6 +2131,10 @@
         Y = NormalDist(100, 0)
         with self.assertRaises(statistics.StatisticsError):
             Y.cdf(90)
+        # Special values
+        self.assertEqual(X.cdf(float('-Inf')), 0.0)
+        self.assertEqual(X.cdf(float('Inf')), 1.0)
+        self.assertTrue(math.isnan(X.cdf(float('NaN'))))
 
     def test_properties(self):
         X = statistics.NormalDist(100, 15)