mirror of
				https://github.com/msgpack/msgpack-python.git
				synced 2025-11-04 11:30:57 +00:00 
			
		
		
		
	add test.
This commit is contained in:
		
							parent
							
								
									9b5a25ec32
								
							
						
					
					
						commit
						b0f42ca49e
					
				
					 1 changed files with 64 additions and 0 deletions
				
			
		
							
								
								
									
										64
									
								
								testformat.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								testformat.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,64 @@
 | 
				
			||||||
 | 
					from unittest import TestCase, main
 | 
				
			||||||
 | 
					from msgpack import packs, unpacks
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class TestFormat(TestCase):
 | 
				
			||||||
 | 
					    def __check(self, obj, expected_packed):
 | 
				
			||||||
 | 
					        packed = packs(obj)
 | 
				
			||||||
 | 
					        self.assertEqual(packed, expected_packed)
 | 
				
			||||||
 | 
					        unpacked = unpacks(packed)
 | 
				
			||||||
 | 
					        self.assertEqual(unpacked, obj)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def testSimpleValues(self):
 | 
				
			||||||
 | 
					        self.__check(None, '\xc0')
 | 
				
			||||||
 | 
					        self.__check(True, '\xc3')
 | 
				
			||||||
 | 
					        self.__check(False, '\xc2')
 | 
				
			||||||
 | 
					        self.__check(
 | 
				
			||||||
 | 
					                [None, False, True],
 | 
				
			||||||
 | 
					                '\x93\xc0\xc2\xc3'
 | 
				
			||||||
 | 
					                )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def testFixnum(self):
 | 
				
			||||||
 | 
					        self.__check(
 | 
				
			||||||
 | 
					                [[0,64,127], [-32,-16,-1]],
 | 
				
			||||||
 | 
					                "\x92\x93\x00\x40\x7f\x93\xe0\xf0\xff"
 | 
				
			||||||
 | 
					                )
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    def testFixArray(self):
 | 
				
			||||||
 | 
					        self.__check(
 | 
				
			||||||
 | 
					                [[],[[None]]],
 | 
				
			||||||
 | 
					                "\x92\x90\x91\x91\xc0"
 | 
				
			||||||
 | 
					                )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def testFixRaw(self):
 | 
				
			||||||
 | 
					        self.__check(
 | 
				
			||||||
 | 
					                ["", "a", "bc", "def"],
 | 
				
			||||||
 | 
					                "\x94\xa0\xa1a\xa2bc\xa3def"
 | 
				
			||||||
 | 
					                )
 | 
				
			||||||
 | 
					        pass
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def testFixMap(self):
 | 
				
			||||||
 | 
					        self.__check(
 | 
				
			||||||
 | 
					                {False: {None: None}, True:{None:{}}},
 | 
				
			||||||
 | 
					                "\x82\xc2\x81\xc0\xc0\xc3\x81\xc0\x80"
 | 
				
			||||||
 | 
					                )
 | 
				
			||||||
 | 
					        pass
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class TestUnpack(TestCase):
 | 
				
			||||||
 | 
					    def __check(self, packed, obj):
 | 
				
			||||||
 | 
					        self.assertEqual(unpacks(packed), obj)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def testuint(self):
 | 
				
			||||||
 | 
					        self.__check(
 | 
				
			||||||
 | 
					                 "\x99\xcc\x00\xcc\x80\xcc\xff\xcd\x00\x00\xcd\x80\x00"
 | 
				
			||||||
 | 
					                 "\xcd\xff\xff\xce\x00\x00\x00\x00\xce\x80\x00\x00\x00"
 | 
				
			||||||
 | 
					                 "\xce\xff\xff\xff\xff",
 | 
				
			||||||
 | 
					                 [0, 128, 255, 0, 32768, 65535, 0,
 | 
				
			||||||
 | 
					                     2147483648, 4294967295],
 | 
				
			||||||
 | 
					                 )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if __name__ == '__main__':
 | 
				
			||||||
 | 
					    main()
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue