summaryrefslogtreecommitdiff
path: root/Mailman/testing/test_enum.py
diff options
context:
space:
mode:
Diffstat (limited to 'Mailman/testing/test_enum.py')
-rw-r--r--Mailman/testing/test_enum.py125
1 files changed, 0 insertions, 125 deletions
diff --git a/Mailman/testing/test_enum.py b/Mailman/testing/test_enum.py
deleted file mode 100644
index a8c389bb4..000000000
--- a/Mailman/testing/test_enum.py
+++ /dev/null
@@ -1,125 +0,0 @@
-# Copyright (C) 2007 by the Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-# USA.
-
-"""Unit tests for Enums."""
-
-import operator
-import unittest
-
-from Mailman.enum import Enum
-
-
-
-class Colors(Enum):
- red = 1
- green = 2
- blue = 3
-
-
-class MoreColors(Colors):
- pink = 4
- cyan = 5
-
-
-class OtherColors(Enum):
- red = 1
- blue = 2
- yellow = 3
-
-
-
-class TestEnum(unittest.TestCase):
- def test_enum_basics(self):
- unless = self.failUnless
- raises = self.assertRaises
- # Cannot compare by equality
- raises(NotImplementedError, operator.eq, Colors.red, Colors.red)
- raises(NotImplementedError, operator.ne, Colors.red, Colors.red)
- raises(NotImplementedError, operator.lt, Colors.red, Colors.red)
- raises(NotImplementedError, operator.gt, Colors.red, Colors.red)
- raises(NotImplementedError, operator.le, Colors.red, Colors.red)
- raises(NotImplementedError, operator.ge, Colors.red, Colors.red)
- raises(NotImplementedError, operator.eq, Colors.red, 1)
- raises(NotImplementedError, operator.ne, Colors.red, 1)
- raises(NotImplementedError, operator.lt, Colors.red, 1)
- raises(NotImplementedError, operator.gt, Colors.red, 1)
- raises(NotImplementedError, operator.le, Colors.red, 1)
- raises(NotImplementedError, operator.ge, Colors.red, 1)
- # Comparison by identity
- unless(Colors.red is Colors.red)
- unless(Colors.red is MoreColors.red)
- unless(Colors.red is not OtherColors.red)
- unless(Colors.red is not Colors.blue)
-
- def test_enum_conversions(self):
- eq = self.assertEqual
- unless = self.failUnless
- raises = self.assertRaises
- unless(Colors.red is Colors['red'])
- unless(Colors.red is Colors[1])
- unless(Colors.red is Colors('red'))
- unless(Colors.red is Colors(1))
- unless(Colors.red is not Colors['blue'])
- unless(Colors.red is not Colors[2])
- unless(Colors.red is not Colors('blue'))
- unless(Colors.red is not Colors(2))
- unless(Colors.red is MoreColors['red'])
- unless(Colors.red is MoreColors[1])
- unless(Colors.red is MoreColors('red'))
- unless(Colors.red is MoreColors(1))
- unless(Colors.red is not OtherColors['red'])
- unless(Colors.red is not OtherColors[1])
- unless(Colors.red is not OtherColors('red'))
- unless(Colors.red is not OtherColors(1))
- raises(ValueError, Colors.__getitem__, 'magenta')
- raises(ValueError, Colors.__getitem__, 99)
- raises(ValueError, Colors.__call__, 'magenta')
- raises(ValueError, Colors.__call__, 99)
- eq(int(Colors.red), 1)
- eq(int(Colors.blue), 3)
- eq(int(MoreColors.red), 1)
- eq(int(OtherColors.blue), 2)
-
- def test_enum_duplicates(self):
- try:
- # This is bad because kyle and kenny have the same integer value.
- class Bad(Enum):
- cartman = 1
- stan = 2
- kyle = 3
- kenny = 3
- butters = 4
- except TypeError:
- got_error = True
- else:
- got_error = False
- self.failUnless(got_error)
-
- def test_enum_iteration(self):
- eq = self.assertEqual
- # Iteration sorts on the int value of the enum
- values = [str(v) for v in MoreColors]
- eq(values, ['red', 'green', 'blue', 'pink', 'cyan'])
- values = [int(v) for v in MoreColors]
- eq(values, [1, 2, 3, 4, 5])
-
-
-
-def test_suite():
- suite = unittest.TestSuite()
- suite.addTest(unittest.makeSuite(TestEnum))
- return suite