Merged revisions 79502 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r79502 | antoine.pitrou | 2010-03-30 20:49:45 +0200 (mar., 30 mars 2010) | 4 lines

  Issue #8248: Add some tests for the bool type.  Patch by Gregory Nofi.
........
diff --git a/Lib/test/test_bool.py b/Lib/test/test_bool.py
index a62ff8e..7282c0a 100644
--- a/Lib/test/test_bool.py
+++ b/Lib/test/test_bool.py
@@ -45,6 +45,12 @@
         self.assertEqual(int(True), 1)
         self.assertIsNot(int(True), True)
 
+    def test_float(self):
+        self.assertEqual(float(False), 0.0)
+        self.assertIsNot(float(False), False)
+        self.assertEqual(float(True), 1.0)
+        self.assertIsNot(float(True), True)
+
     def test_math(self):
         self.assertEqual(+False, 0)
         self.assertIsNot(+False, False)
@@ -235,6 +241,12 @@
         finally:
             os.remove(support.TESTFN)
 
+    def test_types(self):
+        # types are always true.
+        for t in [bool, complex, dict, float, int, list, object,
+                  set, str, tuple, type]:
+            self.assertIs(bool(t), True)
+
     def test_operator(self):
         import operator
         self.assertIs(operator.truth(0), False)
diff --git a/Lib/test/test_decimal.py b/Lib/test/test_decimal.py
index dada733..360a5e8 100644
--- a/Lib/test/test_decimal.py
+++ b/Lib/test/test_decimal.py
@@ -472,6 +472,12 @@
         self.assertRaises(ValueError, Decimal, (1, (4, 10, 4, 9, 1), 2) )
         self.assertRaises(ValueError, Decimal, (1, (4, 3, 4, 'a', 1), 2) )
 
+    def test_explicit_from_bool(self):
+        self.assertIs(bool(Decimal(0)), False)
+        self.assertIs(bool(Decimal(1)), True)
+        self.assertEqual(Decimal(False), Decimal(0))
+        self.assertEqual(Decimal(True), Decimal(1))
+
     def test_explicit_from_Decimal(self):
 
         #positive
diff --git a/Lib/test/test_index.py b/Lib/test/test_index.py
index 79802e2..7a94af1 100644
--- a/Lib/test/test_index.py
+++ b/Lib/test/test_index.py
@@ -39,6 +39,8 @@
         self.assertEqual(-7 .__index__(), -7)
         self.assertEqual(self.o.__index__(), 4)
         self.assertEqual(self.n.__index__(), 5)
+        self.assertEqual(True.__index__(), 1)
+        self.assertEqual(False.__index__(), 0)
 
     def test_subclasses(self):
         r = list(range(10))