Пример #1
0
    def test_maxsplit__positive(self):
        maxsplit = self.MAXSPLIT  # just to make expressions fit

        self.assertEquals(
            self.WORDS[:maxsplit] + [' '.join(self.WORDS[maxsplit:])],
            __unit__.split(self.TEXT, maxsplit=maxsplit))
        self.assertEquals(
            self.SPLIT_BY_X[:maxsplit] +
            ['X'.join(self.SPLIT_BY_X[maxsplit:])],
            __unit__.split(self.STRING, by='X', maxsplit=maxsplit))

        # this works because the first split to perform at 'X' rather than 'a'
        self.assertEquals(
            self.SPLIT_BY_X[:maxsplit] +
            ['X'.join(self.SPLIT_BY_X[maxsplit:])],
            __unit__.split(self.STRING, by=('a', 'X'), maxsplit=maxsplit))

        # here, first split is at 'bar'
        sep_index = self.STRING.find('bar')
        string_sans_sep = self.STRING.replace('bar', '')
        self.assertEquals(
            [self.STRING[:sep_index], string_sans_sep[sep_index:]],
            __unit__.split(self.STRING,
                           by=re.compile(self.REGEX),
                           maxsplit=maxsplit))
Пример #2
0
 def test_maxsplit__none(self):
     self.assertEquals(self.WORDS, __unit__.split(self.TEXT, maxsplit=None))
     self.assertEquals(
         self.SPLIT_BY_A_OR_X,
         __unit__.split(self.STRING, by=('a', 'X'), maxsplit=None))
     self.assertEquals(
         self.SPLIT_BY_REGEX,
         __unit__.split(self.STRING,
                        by=re.compile(self.REGEX), maxsplit=None))
Пример #3
0
 def test_maxsplit__none(self):
     self.assertEquals(self.WORDS, __unit__.split(self.TEXT, maxsplit=None))
     self.assertEquals(
         self.SPLIT_BY_A_OR_X,
         __unit__.split(self.STRING, by=('a', 'X'), maxsplit=None))
     self.assertEquals(
         self.SPLIT_BY_REGEX,
         __unit__.split(self.STRING,
                        by=re.compile(self.REGEX),
                        maxsplit=None))
Пример #4
0
 def test_maxsplit__zero(self):
     self.assertEquals(
         [self.TEXT], __unit__.split(self.TEXT, by=None, maxsplit=0))
     self.assertEquals(
         [self.STRING], __unit__.split(self.STRING, by='X', maxsplit=0))
     self.assertEquals(
         [self.STRING],
         __unit__.split(self.STRING, by=('a', 'X'), maxsplit=0))
     self.assertEquals(
         [self.STRING],
         __unit__.split(self.STRING, by=re.compile(self.REGEX), maxsplit=0))
Пример #5
0
 def test_maxsplit__zero(self):
     self.assertEquals([self.TEXT],
                       __unit__.split(self.TEXT, by=None, maxsplit=0))
     self.assertEquals([self.STRING],
                       __unit__.split(self.STRING, by='X', maxsplit=0))
     self.assertEquals([self.STRING],
                       __unit__.split(self.STRING,
                                      by=('a', 'X'),
                                      maxsplit=0))
     self.assertEquals([self.STRING],
                       __unit__.split(self.STRING,
                                      by=re.compile(self.REGEX),
                                      maxsplit=0))
Пример #6
0
 def test_maxsplit__non_integer(self):
     with self.assertRaises(TypeError):
         __unit__.split(self.TEXT, maxsplit=object())
     with self.assertRaises(TypeError):
         __unit__.split(self.STRING, by='X', maxsplit=object())
     with self.assertRaises(TypeError):
         __unit__.split(self.STRING, by=('a', 'X'), maxsplit=object())
     with self.assertRaises(TypeError):
         __unit__.split(
             self.STRING, by=re.compile(self.REGEX), maxsplit=object())
Пример #7
0
 def test_maxsplit__non_integer(self):
     with self.assertRaises(TypeError):
         __unit__.split(self.TEXT, maxsplit=object())
     with self.assertRaises(TypeError):
         __unit__.split(self.STRING, by='X', maxsplit=object())
     with self.assertRaises(TypeError):
         __unit__.split(self.STRING, by=('a', 'X'), maxsplit=object())
     with self.assertRaises(TypeError):
         __unit__.split(self.STRING,
                        by=re.compile(self.REGEX),
                        maxsplit=object())
Пример #8
0
    def test_maxsplit__positive(self):
        maxsplit = self.MAXSPLIT  # just to make expressions fit

        self.assertEquals(
            self.WORDS[:maxsplit] + [' '.join(self.WORDS[maxsplit:])],
            __unit__.split(self.TEXT, maxsplit=maxsplit))
        self.assertEquals(
            self.SPLIT_BY_X[:maxsplit] + ['X'.join(self.SPLIT_BY_X[maxsplit:])],
            __unit__.split(self.STRING, by='X', maxsplit=maxsplit))

        # this works because the first split to perform at 'X' rather than 'a'
        self.assertEquals(
            self.SPLIT_BY_X[:maxsplit] + ['X'.join(self.SPLIT_BY_X[maxsplit:])],
            __unit__.split(self.STRING, by=('a', 'X'), maxsplit=maxsplit))

        # here, first split is at 'bar'
        sep_index = self.STRING.find('bar')
        string_sans_sep = self.STRING.replace('bar', '')
        self.assertEquals(
            [self.STRING[:sep_index], string_sans_sep[sep_index:]],
            __unit__.split(
                self.STRING, by=re.compile(self.REGEX), maxsplit=maxsplit))
Пример #9
0
 def test_by__none__one_word(self):
     self.assertEquals([self.STRING], __unit__.split(self.STRING, by=None))
Пример #10
0
 def test_string__some_string__no_separator(self):
     self.assertEquals([self.STRING], __unit__.split(self.STRING))
Пример #11
0
 def test_by__none__words(self):
     self.assertEquals(self.WORDS, __unit__.split(self.TEXT, by=None))
Пример #12
0
 def test_by__invalid_tuple(self):
     with self.assertRaises(TypeError):
         __unit__.split(self.STRING, by=(42, 'a', 'X'))
Пример #13
0
 def test_string__empty__no_separator(self):
     # result contingent on TODO inside the ``split`` function
     self.assertEquals([], __unit__.split(''))
Пример #14
0
 def test_by__empty_generator(self):
     with self.assertRaises(ValueError) as r:
         __unit__.split(self.STRING, by=(x for x in ()))
     self.assertIn("empty", str(r.exception))
Пример #15
0
 def test_by__multiple_strings(self):
     self.assertEquals(self.SPLIT_BY_A_OR_X,
                       __unit__.split(self.STRING, by=('a', 'X')))
Пример #16
0
 def test_string__some_string__no_separator(self):
     self.assertEquals([self.STRING], __unit__.split(self.STRING))
Пример #17
0
 def test_by__empty_tuple(self):
     with self.assertRaises(ValueError) as r:
         __unit__.split(self.STRING, by=())
     self.assertIn("empty", str(r.exception))
Пример #18
0
 def test_by__allegedly_regex_string(self):
     # regex supplied as string should be treated as string,
     # (in this case, it results in no splits whatsoever)
     self.assertEquals(
         [self.STRING], __unit__.split(self.STRING, by=self.REGEX))
Пример #19
0
 def test_by__none__words(self):
     self.assertEquals(self.WORDS, __unit__.split(self.TEXT, by=None))
Пример #20
0
 def test_by__empty_regex(self):
     with self.assertRaises(ValueError) as r:
         __unit__.split(self.STRING, by=re.compile(''))
     self.assertIn("empty", str(r.exception))
Пример #21
0
 def test_by__regex_object(self):
     self.assertEquals(
         self.SPLIT_BY_REGEX,
         __unit__.split(self.STRING, by=re.compile(self.REGEX)))
Пример #22
0
 def test_by__multiple_strings(self):
     self.assertEquals(
         self.SPLIT_BY_A_OR_X, __unit__.split(self.STRING, by=('a', 'X')))
Пример #23
0
 def test_by__single_string(self):
     self.assertEquals(self.SPLIT_BY_X, __unit__.split(self.STRING, by='X'))
Пример #24
0
 def test_by__empty_regex(self):
     with self.assertRaises(ValueError) as r:
         __unit__.split(self.STRING, by=re.compile(''))
     self.assertIn("empty", str(r.exception))
Пример #25
0
 def test_by__empty_tuple(self):
     with self.assertRaises(ValueError) as r:
         __unit__.split(self.STRING, by=())
     self.assertIn("empty", str(r.exception))
Пример #26
0
 def test_string__empty__no_separator(self):
     # result contingent on TODO inside the ``split`` function
     self.assertEquals([], __unit__.split(''))
Пример #27
0
 def test_by__invalid_tuple(self):
     with self.assertRaises(TypeError):
         __unit__.split(self.STRING, by=(42, 'a', 'X'))
Пример #28
0
 def test_by__single_string(self):
     self.assertEquals(self.SPLIT_BY_X, __unit__.split(self.STRING, by='X'))
Пример #29
0
 def test_by__regex_object(self):
     self.assertEquals(
         self.SPLIT_BY_REGEX,
         __unit__.split(self.STRING, by=re.compile(self.REGEX)))
Пример #30
0
 def test_by__empty_generator(self):
     with self.assertRaises(ValueError) as r:
         __unit__.split(self.STRING, by =(x for x in ()))
     self.assertIn("empty", str(r.exception))
Пример #31
0
 def test_by__allegedly_regex_string(self):
     # regex supplied as string should be treated as string,
     # (in this case, it results in no splits whatsoever)
     self.assertEquals([self.STRING],
                       __unit__.split(self.STRING, by=self.REGEX))
Пример #32
0
 def test_string__some_object(self):
     with self.assertRaises(TypeError):
         __unit__.split(object())
Пример #33
0
 def test_string__some_object(self):
     with self.assertRaises(TypeError):
         __unit__.split(object())
Пример #34
0
 def test_by__none__one_word(self):
     self.assertEquals([self.STRING], __unit__.split(self.STRING, by=None))
Пример #35
0
 def test_string__none(self):
     with self.assertRaises(TypeError):
         __unit__.split(None)
Пример #36
0
 def test_string__none(self):
     with self.assertRaises(TypeError):
         __unit__.split(None)