mirror of
				https://github.com/django/django.git
				synced 2025-10-30 17:16:10 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			147 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			147 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import datetime
 | |
| from decimal import Decimal
 | |
| 
 | |
| from django.db.models import (
 | |
|     AutoField,
 | |
|     BinaryField,
 | |
|     BooleanField,
 | |
|     CharField,
 | |
|     DateField,
 | |
|     DateTimeField,
 | |
|     DecimalField,
 | |
|     EmailField,
 | |
|     FileField,
 | |
|     FilePathField,
 | |
|     FloatField,
 | |
|     GenericIPAddressField,
 | |
|     ImageField,
 | |
|     IntegerField,
 | |
|     IPAddressField,
 | |
|     PositiveBigIntegerField,
 | |
|     PositiveIntegerField,
 | |
|     PositiveSmallIntegerField,
 | |
|     SlugField,
 | |
|     SmallIntegerField,
 | |
|     TextField,
 | |
|     TimeField,
 | |
|     URLField,
 | |
| )
 | |
| from django.test import SimpleTestCase
 | |
| from django.utils.functional import lazy
 | |
| 
 | |
| 
 | |
| class PromiseTest(SimpleTestCase):
 | |
|     def test_AutoField(self):
 | |
|         lazy_func = lazy(lambda: 1, int)
 | |
|         self.assertIsInstance(
 | |
|             AutoField(primary_key=True).get_prep_value(lazy_func()), int
 | |
|         )
 | |
| 
 | |
|     def test_BinaryField(self):
 | |
|         lazy_func = lazy(lambda: b"", bytes)
 | |
|         self.assertIsInstance(BinaryField().get_prep_value(lazy_func()), bytes)
 | |
| 
 | |
|     def test_BooleanField(self):
 | |
|         lazy_func = lazy(lambda: True, bool)
 | |
|         self.assertIsInstance(BooleanField().get_prep_value(lazy_func()), bool)
 | |
| 
 | |
|     def test_CharField(self):
 | |
|         lazy_func = lazy(lambda: "", str)
 | |
|         self.assertIsInstance(CharField().get_prep_value(lazy_func()), str)
 | |
|         lazy_func = lazy(lambda: 0, int)
 | |
|         self.assertIsInstance(CharField().get_prep_value(lazy_func()), str)
 | |
| 
 | |
|     def test_DateField(self):
 | |
|         lazy_func = lazy(lambda: datetime.date.today(), datetime.date)
 | |
|         self.assertIsInstance(DateField().get_prep_value(lazy_func()), datetime.date)
 | |
| 
 | |
|     def test_DateTimeField(self):
 | |
|         lazy_func = lazy(lambda: datetime.datetime.now(), datetime.datetime)
 | |
|         self.assertIsInstance(
 | |
|             DateTimeField().get_prep_value(lazy_func()), datetime.datetime
 | |
|         )
 | |
| 
 | |
|     def test_DecimalField(self):
 | |
|         lazy_func = lazy(lambda: Decimal("1.2"), Decimal)
 | |
|         self.assertIsInstance(DecimalField().get_prep_value(lazy_func()), Decimal)
 | |
| 
 | |
|     def test_EmailField(self):
 | |
|         lazy_func = lazy(lambda: "mailbox@domain.com", str)
 | |
|         self.assertIsInstance(EmailField().get_prep_value(lazy_func()), str)
 | |
| 
 | |
|     def test_FileField(self):
 | |
|         lazy_func = lazy(lambda: "filename.ext", str)
 | |
|         self.assertIsInstance(FileField().get_prep_value(lazy_func()), str)
 | |
|         lazy_func = lazy(lambda: 0, int)
 | |
|         self.assertIsInstance(FileField().get_prep_value(lazy_func()), str)
 | |
| 
 | |
|     def test_FilePathField(self):
 | |
|         lazy_func = lazy(lambda: "tests.py", str)
 | |
|         self.assertIsInstance(FilePathField().get_prep_value(lazy_func()), str)
 | |
|         lazy_func = lazy(lambda: 0, int)
 | |
|         self.assertIsInstance(FilePathField().get_prep_value(lazy_func()), str)
 | |
| 
 | |
|     def test_FloatField(self):
 | |
|         lazy_func = lazy(lambda: 1.2, float)
 | |
|         self.assertIsInstance(FloatField().get_prep_value(lazy_func()), float)
 | |
| 
 | |
|     def test_ImageField(self):
 | |
|         lazy_func = lazy(lambda: "filename.ext", str)
 | |
|         self.assertIsInstance(ImageField().get_prep_value(lazy_func()), str)
 | |
| 
 | |
|     def test_IntegerField(self):
 | |
|         lazy_func = lazy(lambda: 1, int)
 | |
|         self.assertIsInstance(IntegerField().get_prep_value(lazy_func()), int)
 | |
| 
 | |
|     def test_IPAddressField(self):
 | |
|         lazy_func = lazy(lambda: "127.0.0.1", str)
 | |
|         self.assertIsInstance(IPAddressField().get_prep_value(lazy_func()), str)
 | |
|         lazy_func = lazy(lambda: 0, int)
 | |
|         self.assertIsInstance(IPAddressField().get_prep_value(lazy_func()), str)
 | |
| 
 | |
|     def test_GenericIPAddressField(self):
 | |
|         lazy_func = lazy(lambda: "127.0.0.1", str)
 | |
|         self.assertIsInstance(GenericIPAddressField().get_prep_value(lazy_func()), str)
 | |
|         lazy_func = lazy(lambda: 0, int)
 | |
|         self.assertIsInstance(GenericIPAddressField().get_prep_value(lazy_func()), str)
 | |
| 
 | |
|     def test_PositiveIntegerField(self):
 | |
|         lazy_func = lazy(lambda: 1, int)
 | |
|         self.assertIsInstance(PositiveIntegerField().get_prep_value(lazy_func()), int)
 | |
| 
 | |
|     def test_PositiveSmallIntegerField(self):
 | |
|         lazy_func = lazy(lambda: 1, int)
 | |
|         self.assertIsInstance(
 | |
|             PositiveSmallIntegerField().get_prep_value(lazy_func()), int
 | |
|         )
 | |
| 
 | |
|     def test_PositiveBigIntegerField(self):
 | |
|         lazy_func = lazy(lambda: 1, int)
 | |
|         self.assertIsInstance(
 | |
|             PositiveBigIntegerField().get_prep_value(lazy_func()), int
 | |
|         )
 | |
| 
 | |
|     def test_SlugField(self):
 | |
|         lazy_func = lazy(lambda: "slug", str)
 | |
|         self.assertIsInstance(SlugField().get_prep_value(lazy_func()), str)
 | |
|         lazy_func = lazy(lambda: 0, int)
 | |
|         self.assertIsInstance(SlugField().get_prep_value(lazy_func()), str)
 | |
| 
 | |
|     def test_SmallIntegerField(self):
 | |
|         lazy_func = lazy(lambda: 1, int)
 | |
|         self.assertIsInstance(SmallIntegerField().get_prep_value(lazy_func()), int)
 | |
| 
 | |
|     def test_TextField(self):
 | |
|         lazy_func = lazy(lambda: "Abc", str)
 | |
|         self.assertIsInstance(TextField().get_prep_value(lazy_func()), str)
 | |
|         lazy_func = lazy(lambda: 0, int)
 | |
|         self.assertIsInstance(TextField().get_prep_value(lazy_func()), str)
 | |
| 
 | |
|     def test_TimeField(self):
 | |
|         lazy_func = lazy(lambda: datetime.datetime.now().time(), datetime.time)
 | |
|         self.assertIsInstance(TimeField().get_prep_value(lazy_func()), datetime.time)
 | |
| 
 | |
|     def test_URLField(self):
 | |
|         lazy_func = lazy(lambda: "http://domain.com", str)
 | |
|         self.assertIsInstance(URLField().get_prep_value(lazy_func()), str)
 |