Advertisement
Guest User

Untitled

a guest
Feb 6th, 2016
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.30 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3. from unittest import TestCase
  4.  
  5.  
  6. def truthyish(value):
  7. """
  8. same as standard python truthyness except that strings are different.
  9. True, t, yes, y and 1 (case insensitive) are considered truthy.
  10. """
  11. if isinstance(value, str):
  12. return value.lower() in ('true', 't', 'yes', 'y', '1')
  13. else:
  14. return bool(value)
  15.  
  16.  
  17. # python -m unittest truthyish
  18. class TestTruthyish(TestCase):
  19. def test_truthyish(self):
  20. self.assertTrue(truthyish('t'))
  21. self.assertTrue(truthyish('T'))
  22. self.assertTrue(truthyish('true'))
  23. self.assertTrue(truthyish('True'))
  24. self.assertTrue(truthyish('TRUE'))
  25. self.assertTrue(truthyish('1'))
  26. self.assertTrue(truthyish('Y'))
  27. self.assertTrue(truthyish('y'))
  28. self.assertTrue(truthyish('yes'))
  29. self.assertTrue(truthyish('YES'))
  30.  
  31. def test_falseyish(self):
  32. self.assertFalse(truthyish('f'))
  33. self.assertFalse(truthyish('F'))
  34. self.assertFalse(truthyish('false'))
  35. self.assertFalse(truthyish('False'))
  36. self.assertFalse(truthyish('FALSE'))
  37. self.assertFalse(truthyish('0'))
  38. self.assertFalse(truthyish('N'))
  39. self.assertFalse(truthyish('n'))
  40. self.assertFalse(truthyish('no'))
  41. self.assertFalse(truthyish('NO'))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement