diff options
Diffstat (limited to 'tests/db_functions/text/test_strindex.py')
| -rw-r--r-- | tests/db_functions/text/test_strindex.py | 74 |
1 files changed, 41 insertions, 33 deletions
diff --git a/tests/db_functions/text/test_strindex.py b/tests/db_functions/text/test_strindex.py index 1670df00fd..84305ea1b7 100644 --- a/tests/db_functions/text/test_strindex.py +++ b/tests/db_functions/text/test_strindex.py @@ -8,59 +8,67 @@ from ..models import Article, Author class StrIndexTests(TestCase): def test_annotate_charfield(self): - Author.objects.create(name='George. R. R. Martin') - Author.objects.create(name='J. R. R. Tolkien') - Author.objects.create(name='Terry Pratchett') - authors = Author.objects.annotate(fullstop=StrIndex('name', Value('R.'))) - self.assertQuerysetEqual(authors.order_by('name'), [9, 4, 0], lambda a: a.fullstop) + Author.objects.create(name="George. R. R. Martin") + Author.objects.create(name="J. R. R. Tolkien") + Author.objects.create(name="Terry Pratchett") + authors = Author.objects.annotate(fullstop=StrIndex("name", Value("R."))) + self.assertQuerysetEqual( + authors.order_by("name"), [9, 4, 0], lambda a: a.fullstop + ) def test_annotate_textfield(self): Article.objects.create( - title='How to Django', - text='This is about How to Django.', + title="How to Django", + text="This is about How to Django.", written=timezone.now(), ) Article.objects.create( - title='How to Tango', + title="How to Tango", text="Won't find anything here.", written=timezone.now(), ) - articles = Article.objects.annotate(title_pos=StrIndex('text', 'title')) - self.assertQuerysetEqual(articles.order_by('title'), [15, 0], lambda a: a.title_pos) + articles = Article.objects.annotate(title_pos=StrIndex("text", "title")) + self.assertQuerysetEqual( + articles.order_by("title"), [15, 0], lambda a: a.title_pos + ) def test_order_by(self): - Author.objects.create(name='Terry Pratchett') - Author.objects.create(name='J. R. R. Tolkien') - Author.objects.create(name='George. R. R. Martin') + Author.objects.create(name="Terry Pratchett") + Author.objects.create(name="J. R. R. Tolkien") + Author.objects.create(name="George. R. R. Martin") self.assertQuerysetEqual( - Author.objects.order_by(StrIndex('name', Value('R.')).asc()), [ - 'Terry Pratchett', - 'J. R. R. Tolkien', - 'George. R. R. Martin', + Author.objects.order_by(StrIndex("name", Value("R.")).asc()), + [ + "Terry Pratchett", + "J. R. R. Tolkien", + "George. R. R. Martin", ], - lambda a: a.name + lambda a: a.name, ) self.assertQuerysetEqual( - Author.objects.order_by(StrIndex('name', Value('R.')).desc()), [ - 'George. R. R. Martin', - 'J. R. R. Tolkien', - 'Terry Pratchett', + Author.objects.order_by(StrIndex("name", Value("R.")).desc()), + [ + "George. R. R. Martin", + "J. R. R. Tolkien", + "Terry Pratchett", ], - lambda a: a.name + lambda a: a.name, ) def test_unicode_values(self): - Author.objects.create(name='ツリー') - Author.objects.create(name='皇帝') - Author.objects.create(name='皇帝 ツリー') - authors = Author.objects.annotate(sb=StrIndex('name', Value('リ'))) - self.assertQuerysetEqual(authors.order_by('name'), [2, 0, 5], lambda a: a.sb) + Author.objects.create(name="ツリー") + Author.objects.create(name="皇帝") + Author.objects.create(name="皇帝 ツリー") + authors = Author.objects.annotate(sb=StrIndex("name", Value("リ"))) + self.assertQuerysetEqual(authors.order_by("name"), [2, 0, 5], lambda a: a.sb) def test_filtering(self): - Author.objects.create(name='George. R. R. Martin') - Author.objects.create(name='Terry Pratchett') + Author.objects.create(name="George. R. R. Martin") + Author.objects.create(name="Terry Pratchett") self.assertQuerysetEqual( - Author.objects.annotate(middle_name=StrIndex('name', Value('R.'))).filter(middle_name__gt=0), - ['George. R. R. Martin'], - lambda a: a.name + Author.objects.annotate(middle_name=StrIndex("name", Value("R."))).filter( + middle_name__gt=0 + ), + ["George. R. R. Martin"], + lambda a: a.name, ) |
