Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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())
Exemplo n.º 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())
Exemplo n.º 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))
Exemplo n.º 9
0
 def test_by__none__one_word(self):
     self.assertEquals([self.STRING], __unit__.split(self.STRING, by=None))
Exemplo n.º 10
0
 def test_string__some_string__no_separator(self):
     self.assertEquals([self.STRING], __unit__.split(self.STRING))
Exemplo n.º 11
0
 def test_by__none__words(self):
     self.assertEquals(self.WORDS, __unit__.split(self.TEXT, by=None))
Exemplo n.º 12
0
 def test_by__invalid_tuple(self):
     with self.assertRaises(TypeError):
         __unit__.split(self.STRING, by=(42, 'a', 'X'))
Exemplo n.º 13
0
 def test_string__empty__no_separator(self):
     # result contingent on TODO inside the ``split`` function
     self.assertEquals([], __unit__.split(''))
Exemplo n.º 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))
Exemplo n.º 15
0
 def test_by__multiple_strings(self):
     self.assertEquals(self.SPLIT_BY_A_OR_X,
                       __unit__.split(self.STRING, by=('a', 'X')))
Exemplo n.º 16
0
 def test_string__some_string__no_separator(self):
     self.assertEquals([self.STRING], __unit__.split(self.STRING))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 19
0
 def test_by__none__words(self):
     self.assertEquals(self.WORDS, __unit__.split(self.TEXT, by=None))
Exemplo n.º 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))
Exemplo n.º 21
0
 def test_by__regex_object(self):
     self.assertEquals(
         self.SPLIT_BY_REGEX,
         __unit__.split(self.STRING, by=re.compile(self.REGEX)))
Exemplo n.º 22
0
 def test_by__multiple_strings(self):
     self.assertEquals(
         self.SPLIT_BY_A_OR_X, __unit__.split(self.STRING, by=('a', 'X')))
Exemplo n.º 23
0
 def test_by__single_string(self):
     self.assertEquals(self.SPLIT_BY_X, __unit__.split(self.STRING, by='X'))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 26
0
 def test_string__empty__no_separator(self):
     # result contingent on TODO inside the ``split`` function
     self.assertEquals([], __unit__.split(''))
Exemplo n.º 27
0
 def test_by__invalid_tuple(self):
     with self.assertRaises(TypeError):
         __unit__.split(self.STRING, by=(42, 'a', 'X'))
Exemplo n.º 28
0
 def test_by__single_string(self):
     self.assertEquals(self.SPLIT_BY_X, __unit__.split(self.STRING, by='X'))
Exemplo n.º 29
0
 def test_by__regex_object(self):
     self.assertEquals(
         self.SPLIT_BY_REGEX,
         __unit__.split(self.STRING, by=re.compile(self.REGEX)))
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 32
0
 def test_string__some_object(self):
     with self.assertRaises(TypeError):
         __unit__.split(object())
Exemplo n.º 33
0
 def test_string__some_object(self):
     with self.assertRaises(TypeError):
         __unit__.split(object())
Exemplo n.º 34
0
 def test_by__none__one_word(self):
     self.assertEquals([self.STRING], __unit__.split(self.STRING, by=None))
Exemplo n.º 35
0
 def test_string__none(self):
     with self.assertRaises(TypeError):
         __unit__.split(None)
Exemplo n.º 36
0
 def test_string__none(self):
     with self.assertRaises(TypeError):
         __unit__.split(None)