Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- from unittest import TestCase
- def truthyish(value):
- """
- same as standard python truthyness except that strings are different.
- True, t, yes, y and 1 (case insensitive) are considered truthy.
- """
- if isinstance(value, str):
- return value.lower() in ('true', 't', 'yes', 'y', '1')
- else:
- return bool(value)
- # python -m unittest truthyish
- class TestTruthyish(TestCase):
- def test_truthyish(self):
- self.assertTrue(truthyish('t'))
- self.assertTrue(truthyish('T'))
- self.assertTrue(truthyish('true'))
- self.assertTrue(truthyish('True'))
- self.assertTrue(truthyish('TRUE'))
- self.assertTrue(truthyish('1'))
- self.assertTrue(truthyish('Y'))
- self.assertTrue(truthyish('y'))
- self.assertTrue(truthyish('yes'))
- self.assertTrue(truthyish('YES'))
- def test_falseyish(self):
- self.assertFalse(truthyish('f'))
- self.assertFalse(truthyish('F'))
- self.assertFalse(truthyish('false'))
- self.assertFalse(truthyish('False'))
- self.assertFalse(truthyish('FALSE'))
- self.assertFalse(truthyish('0'))
- self.assertFalse(truthyish('N'))
- self.assertFalse(truthyish('n'))
- self.assertFalse(truthyish('no'))
- self.assertFalse(truthyish('NO'))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement