(self)
| 2168 | list(Experiment.objects.filter(start=F("start") * datetime.timedelta(0))) |
| 2169 | |
| 2170 | def test_durationfield_add(self): |
| 2171 | zeros = [ |
| 2172 | e.name |
| 2173 | for e in Experiment.objects.filter(start=F("start") + F("estimated_time")) |
| 2174 | ] |
| 2175 | self.assertEqual(zeros, ["e0"]) |
| 2176 | |
| 2177 | end_less = [ |
| 2178 | e.name |
| 2179 | for e in Experiment.objects.filter(end__lt=F("start") + F("estimated_time")) |
| 2180 | ] |
| 2181 | self.assertEqual(end_less, ["e2"]) |
| 2182 | |
| 2183 | delta_math = [ |
| 2184 | e.name |
| 2185 | for e in Experiment.objects.filter( |
| 2186 | end__gte=F("start") + F("estimated_time") + datetime.timedelta(hours=1) |
| 2187 | ) |
| 2188 | ] |
| 2189 | self.assertEqual(delta_math, ["e4"]) |
| 2190 | |
| 2191 | queryset = Experiment.objects.annotate( |
| 2192 | shifted=ExpressionWrapper( |
| 2193 | F("start") + Value(None, output_field=DurationField()), |
| 2194 | output_field=DateTimeField(), |
| 2195 | ) |
| 2196 | ) |
| 2197 | self.assertIsNone(queryset.first().shifted) |
| 2198 | |
| 2199 | def test_durationfield_multiply_divide(self): |
| 2200 | Experiment.objects.update(scalar=2) |
nothing calls this directly
no test coverage detected