コード例 #1
0
    def test_callable(self):
        def userfunc(x):
            return x == 1
        pred_handler, repr_string = _get_matcher_parts(userfunc)
        self.assertTrue(pred_handler(1))
        self.assertFalse(pred_handler(2))
        self.assertEqual(repr_string, 'userfunc')

        userlambda = lambda x: x == 1
        pred_handler, repr_string = _get_matcher_parts(userlambda)
        self.assertTrue(pred_handler(1))
        self.assertFalse(pred_handler(2))
        self.assertEqual(repr_string, '<lambda>')
コード例 #2
0
    def test_regex(self):
        regex = re.compile('ab[cd]')

        pred_handler, repr_string = _get_matcher_parts(regex)
        self.assertTrue(pred_handler('abc'))
        self.assertFalse(pred_handler('abe'))
        self.assertEqual(repr_string, "re.compile('ab[cd]')")
コード例 #3
0
 def test_no_special_handling(self):
     self.assertIsNone(_get_matcher_parts(1))
     self.assertIsNone(_get_matcher_parts(0))
コード例 #4
0
 def test_set(self):
     myset = set(['a'])
     pred_handler, repr_string = _get_matcher_parts(myset)
     self.assertTrue(pred_handler('a'))
     self.assertFalse(pred_handler('b'))
     self.assertEqual(repr_string, repr(myset))
コード例 #5
0
 def test_falsy(self):
     pred_handler, repr_string = _get_matcher_parts(False)
     self.assertIs(pred_handler, _check_falsy)
     self.assertEqual(repr_string, 'False')
コード例 #6
0
 def test_truthy(self):
     pred_handler, repr_string = _get_matcher_parts(True)
     self.assertIs(pred_handler, _check_truthy)
     self.assertEqual(repr_string, 'True')
コード例 #7
0
 def test_ellipsis_wildcard(self):
     pred_handler, repr_string = _get_matcher_parts(Ellipsis)
     self.assertIs(pred_handler, _check_wildcard)
     self.assertEqual(repr_string, '...')
コード例 #8
0
 def test_type(self):
     pred_handler, repr_string = _get_matcher_parts(int)
     self.assertTrue(pred_handler(1))
     self.assertFalse(pred_handler(1.0))
     self.assertEqual(repr_string, 'int')