diff options
author | Mads Jensen <mje@inducks.org> | 2016-09-10 11:36:27 +0200 |
---|---|---|
committer | Tim Graham <timograham@gmail.com> | 2016-09-13 10:07:37 -0400 |
commit | 0c1f71635f8a3f32195e1573fe929c7d88a78511 (patch) | |
tree | 4d8127fde3634dfd3d4ad8451cee140d34070821 /tests/custom_lookups | |
parent | 8b050cf9dcad3db39cc9ef44906bfc39f5aa3d25 (diff) | |
download | django-0c1f71635f8a3f32195e1573fe929c7d88a78511.tar.gz |
Fixed #27203 -- Replaced assertQuerysetEqual(..., lambda o: o) with assertSequenceEqual().
Diffstat (limited to 'tests/custom_lookups')
-rw-r--r-- | tests/custom_lookups/tests.py | 150 |
1 files changed, 38 insertions, 112 deletions
diff --git a/tests/custom_lookups/tests.py b/tests/custom_lookups/tests.py index da9274904c..8ae94dda26 100644 --- a/tests/custom_lookups/tests.py +++ b/tests/custom_lookups/tests.py @@ -234,8 +234,8 @@ class LookupTests(TestCase): YearTransform.register_lookup(Exactly, custom_lookup_name) qs1 = Author.objects.filter(birthdate__testyear__exactly=1981) qs2 = Author.objects.filter(birthdate__justtheyear__isactually=1981) - self.assertQuerysetEqual(qs1, [a1], lambda x: x) - self.assertQuerysetEqual(qs2, [a1], lambda x: x) + self.assertSequenceEqual(qs1, [a1]) + self.assertSequenceEqual(qs2, [a1]) finally: YearTransform._unregister_lookup(Exactly) YearTransform._unregister_lookup(Exactly, custom_lookup_name) @@ -248,22 +248,10 @@ class LookupTests(TestCase): a3 = Author.objects.create(name='a3', age=3) a4 = Author.objects.create(name='a4', age=4) with register_lookup(models.IntegerField, Div3Lookup): - self.assertQuerysetEqual( - Author.objects.filter(age__div3=0), - [a3], lambda x: x - ) - self.assertQuerysetEqual( - Author.objects.filter(age__div3=1).order_by('age'), - [a1, a4], lambda x: x - ) - self.assertQuerysetEqual( - Author.objects.filter(age__div3=2), - [a2], lambda x: x - ) - self.assertQuerysetEqual( - Author.objects.filter(age__div3=3), - [], lambda x: x - ) + self.assertSequenceEqual(Author.objects.filter(age__div3=0), [a3]) + self.assertSequenceEqual(Author.objects.filter(age__div3=1).order_by('age'), [a1, a4]) + self.assertSequenceEqual(Author.objects.filter(age__div3=2), [a2]) + self.assertSequenceEqual(Author.objects.filter(age__div3=3), []) @unittest.skipUnless(connection.vendor == 'postgresql', "PostgreSQL specific SQL used") def test_birthdate_month(self): @@ -272,26 +260,11 @@ class LookupTests(TestCase): a3 = Author.objects.create(name='a3', birthdate=date(2012, 1, 31)) a4 = Author.objects.create(name='a4', birthdate=date(2012, 3, 1)) with register_lookup(models.DateField, InMonth): - self.assertQuerysetEqual( - Author.objects.filter(birthdate__inmonth=date(2012, 1, 15)), - [a3], lambda x: x - ) - self.assertQuerysetEqual( - Author.objects.filter(birthdate__inmonth=date(2012, 2, 1)), - [a2], lambda x: x - ) - self.assertQuerysetEqual( - Author.objects.filter(birthdate__inmonth=date(1981, 2, 28)), - [a1], lambda x: x - ) - self.assertQuerysetEqual( - Author.objects.filter(birthdate__inmonth=date(2012, 3, 12)), - [a4], lambda x: x - ) - self.assertQuerysetEqual( - Author.objects.filter(birthdate__inmonth=date(2012, 4, 1)), - [], lambda x: x - ) + self.assertSequenceEqual(Author.objects.filter(birthdate__inmonth=date(2012, 1, 15)), [a3]) + self.assertSequenceEqual(Author.objects.filter(birthdate__inmonth=date(2012, 2, 1)), [a2]) + self.assertSequenceEqual(Author.objects.filter(birthdate__inmonth=date(1981, 2, 28)), [a1]) + self.assertSequenceEqual(Author.objects.filter(birthdate__inmonth=date(2012, 3, 12)), [a4]) + self.assertSequenceEqual(Author.objects.filter(birthdate__inmonth=date(2012, 4, 1)), []) def test_div3_extract(self): with register_lookup(models.IntegerField, Div3Transform): @@ -300,24 +273,12 @@ class LookupTests(TestCase): a3 = Author.objects.create(name='a3', age=3) a4 = Author.objects.create(name='a4', age=4) baseqs = Author.objects.order_by('name') - self.assertQuerysetEqual( - baseqs.filter(age__div3=2), - [a2], lambda x: x) - self.assertQuerysetEqual( - baseqs.filter(age__div3__lte=3), - [a1, a2, a3, a4], lambda x: x) - self.assertQuerysetEqual( - baseqs.filter(age__div3__in=[0, 2]), - [a2, a3], lambda x: x) - self.assertQuerysetEqual( - baseqs.filter(age__div3__in=[2, 4]), - [a2], lambda x: x) - self.assertQuerysetEqual( - baseqs.filter(age__div3__gte=3), - [], lambda x: x) - self.assertQuerysetEqual( - baseqs.filter(age__div3__range=(1, 2)), - [a1, a2, a4], lambda x: x) + self.assertSequenceEqual(baseqs.filter(age__div3=2), [a2]) + self.assertSequenceEqual(baseqs.filter(age__div3__lte=3), [a1, a2, a3, a4]) + self.assertSequenceEqual(baseqs.filter(age__div3__in=[0, 2]), [a2, a3]) + self.assertSequenceEqual(baseqs.filter(age__div3__in=[2, 4]), [a2]) + self.assertSequenceEqual(baseqs.filter(age__div3__gte=3), []) + self.assertSequenceEqual(baseqs.filter(age__div3__range=(1, 2)), [a1, a2, a4]) def test_foreignobject_lookup_registration(self): field = Article._meta.get_field('author') @@ -383,24 +344,12 @@ class BilateralTransformTests(TestCase): a3 = Author.objects.create(name='a3', age=3) a4 = Author.objects.create(name='a4', age=4) baseqs = Author.objects.order_by('name') - self.assertQuerysetEqual( - baseqs.filter(age__div3=2), - [a2], lambda x: x) - self.assertQuerysetEqual( - baseqs.filter(age__div3__lte=3), - [a3], lambda x: x) - self.assertQuerysetEqual( - baseqs.filter(age__div3__in=[0, 2]), - [a2, a3], lambda x: x) - self.assertQuerysetEqual( - baseqs.filter(age__div3__in=[2, 4]), - [a1, a2, a4], lambda x: x) - self.assertQuerysetEqual( - baseqs.filter(age__div3__gte=3), - [a1, a2, a3, a4], lambda x: x) - self.assertQuerysetEqual( - baseqs.filter(age__div3__range=(1, 2)), - [a1, a2, a4], lambda x: x) + self.assertSequenceEqual(baseqs.filter(age__div3=2), [a2]) + self.assertSequenceEqual(baseqs.filter(age__div3__lte=3), [a3]) + self.assertSequenceEqual(baseqs.filter(age__div3__in=[0, 2]), [a2, a3]) + self.assertSequenceEqual(baseqs.filter(age__div3__in=[2, 4]), [a1, a2, a4]) + self.assertSequenceEqual(baseqs.filter(age__div3__gte=3), [a1, a2, a3, a4]) + self.assertSequenceEqual(baseqs.filter(age__div3__range=(1, 2)), [a1, a2, a4]) def test_bilateral_order(self): with register_lookup(models.IntegerField, Mult3BilateralTransform, Div3BilateralTransform): @@ -410,13 +359,9 @@ class BilateralTransformTests(TestCase): a4 = Author.objects.create(name='a4', age=4) baseqs = Author.objects.order_by('name') - self.assertQuerysetEqual( - baseqs.filter(age__mult3__div3=42), - # mult3__div3 always leads to 0 - [a1, a2, a3, a4], lambda x: x) - self.assertQuerysetEqual( - baseqs.filter(age__div3__mult3=42), - [a3], lambda x: x) + # mult3__div3 always leads to 0 + self.assertSequenceEqual(baseqs.filter(age__mult3__div3=42), [a1, a2, a3, a4]) + self.assertSequenceEqual(baseqs.filter(age__div3__mult3=42), [a3]) def test_bilateral_fexpr(self): with register_lookup(models.IntegerField, Mult3BilateralTransform): @@ -425,13 +370,9 @@ class BilateralTransformTests(TestCase): a3 = Author.objects.create(name='a3', age=3, average_rating=1.5) a4 = Author.objects.create(name='a4', age=4) baseqs = Author.objects.order_by('name') - self.assertQuerysetEqual( - baseqs.filter(age__mult3=models.F('age')), - [a1, a2, a3, a4], lambda x: x) - self.assertQuerysetEqual( - # Same as age >= average_rating - baseqs.filter(age__mult3__gte=models.F('average_rating')), - [a2, a3], lambda x: x) + self.assertSequenceEqual(baseqs.filter(age__mult3=models.F('age')), [a1, a2, a3, a4]) + # Same as age >= average_rating + self.assertSequenceEqual(baseqs.filter(age__mult3__gte=models.F('average_rating')), [a2, a3]) @override_settings(USE_TZ=True) @@ -441,9 +382,7 @@ class DateTimeLookupTests(TestCase): with register_lookup(models.PositiveIntegerField, DateTimeTransform): ut = MySQLUnixTimestamp.objects.create(timestamp=time.time()) y2k = timezone.make_aware(datetime(2000, 1, 1)) - self.assertQuerysetEqual( - MySQLUnixTimestamp.objects.filter(timestamp__as_datetime__gt=y2k), - [ut], lambda x: x) + self.assertSequenceEqual(MySQLUnixTimestamp.objects.filter(timestamp__as_datetime__gt=y2k), [ut]) class YearLteTests(TestCase): @@ -460,21 +399,13 @@ class YearLteTests(TestCase): @unittest.skipUnless(connection.vendor == 'postgresql', "PostgreSQL specific SQL used") def test_year_lte(self): baseqs = Author.objects.order_by('name') - self.assertQuerysetEqual( - baseqs.filter(birthdate__testyear__lte=2012), - [self.a1, self.a2, self.a3, self.a4], lambda x: x) - self.assertQuerysetEqual( - baseqs.filter(birthdate__testyear=2012), - [self.a2, self.a3, self.a4], lambda x: x) + self.assertSequenceEqual(baseqs.filter(birthdate__testyear__lte=2012), [self.a1, self.a2, self.a3, self.a4]) + self.assertSequenceEqual(baseqs.filter(birthdate__testyear=2012), [self.a2, self.a3, self.a4]) self.assertNotIn('BETWEEN', str(baseqs.filter(birthdate__testyear=2012).query)) - self.assertQuerysetEqual( - baseqs.filter(birthdate__testyear__lte=2011), - [self.a1], lambda x: x) + self.assertSequenceEqual(baseqs.filter(birthdate__testyear__lte=2011), [self.a1]) # The non-optimized version works, too. - self.assertQuerysetEqual( - baseqs.filter(birthdate__testyear__lt=2012), - [self.a1], lambda x: x) + self.assertSequenceEqual(baseqs.filter(birthdate__testyear__lt=2012), [self.a1]) @unittest.skipUnless(connection.vendor == 'postgresql', "PostgreSQL specific SQL used") def test_year_lte_fexpr(self): @@ -485,12 +416,8 @@ class YearLteTests(TestCase): self.a4.age = 2013 self.a4.save() baseqs = Author.objects.order_by('name') - self.assertQuerysetEqual( - baseqs.filter(birthdate__testyear__lte=models.F('age')), - [self.a3, self.a4], lambda x: x) - self.assertQuerysetEqual( - baseqs.filter(birthdate__testyear__lt=models.F('age')), - [self.a4], lambda x: x) + self.assertSequenceEqual(baseqs.filter(birthdate__testyear__lte=models.F('age')), [self.a3, self.a4]) + self.assertSequenceEqual(baseqs.filter(birthdate__testyear__lt=models.F('age')), [self.a4]) def test_year_lte_sql(self): # This test will just check the generated SQL for __lte. This @@ -624,6 +551,5 @@ class SubqueryTransformTests(TestCase): a2 = Author.objects.create(name='a2', age=2) Author.objects.create(name='a3', age=3) Author.objects.create(name='a4', age=4) - self.assertQuerysetEqual( - Author.objects.order_by('name').filter(id__in=Author.objects.filter(age__div3=2)), - [a2], lambda x: x) + qs = Author.objects.order_by('name').filter(id__in=Author.objects.filter(age__div3=2)) + self.assertSequenceEqual(qs, [a2]) |