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