'Test searching for substrings'

def test_find(self):

    self.ae((1, 1), icu.find('a', '1ab'))
    self.ae((1, (1 if (sys.maxunicode >= 1114111) else 2)), icu.find(u'\U0001f431', u'x\U0001f431x'))
    self.ae(((1 if (sys.maxunicode >= 1114111) else 2), 1), icu.find(u'y', u'\U0001f431y'))
    self.ae((0, 4), icu.primary_find(u'pena', u'pe\xf1a'))
    for (k, v) in {u'p\xe8ch\xe9': u'peche', u'fl\xfc\xdfe': u'Flusse', u'\u0160tep\xe1nek': u'\u0160tepaneK'}.iteritems():
        self.ae((1, len(k)), icu.primary_find(v, (u'    ' + k)), (u'Failed    to    find    %s    in    %s' % (v, k)))
    self.assertTrue(icu.startswith('abc', 'ab'))
    self.assertTrue(icu.startswith(u'abc', u'abc'))
    self.assertFalse(icu.startswith(u'xyz', u'a'))
    self.assertTrue(icu.startswith(u'xxx', u''))
    self.assertTrue(icu.primary_startswith(u'pena', u'pe\xf1a'))
    self.assertTrue(icu.contains(u'\U0001f431', u'\U0001f431'))
    self.assertTrue(icu.contains(u'something', u'some    other    something    else'))
    self.assertTrue(icu.contains(u'', u'a'))
    self.assertTrue(icu.contains(u'', u''))
    self.assertFalse(icu.contains(u'xxx', u'xx'))
    self.assertTrue(icu.primary_contains(u'pena', u'pe\xf1a'))
