json: assert encoded struct with a sumtype (#11970)
							parent
							
								
									970768288d
								
							
						
					
					
						commit
						80c15607da
					
				|  | @ -59,6 +59,7 @@ struct SomeGame { | |||
| } | ||||
| 
 | ||||
| fn test_encode_decode_sumtype() ? { | ||||
| 	t := time.now() | ||||
| 	game := SomeGame{ | ||||
| 		title: 'Super Mega Game' | ||||
| 		player: Human{'Monke'} | ||||
|  | @ -67,7 +68,7 @@ fn test_encode_decode_sumtype() ? { | |||
| 			Item{'Cookie'}, | ||||
| 			Animal.cat, | ||||
| 			'Stool', | ||||
| 			time.now(), | ||||
| 			t, | ||||
| 		] | ||||
| 	} | ||||
| 	eprintln('Game: $game') | ||||
|  | @ -75,8 +76,9 @@ fn test_encode_decode_sumtype() ? { | |||
| 	enc := json.encode(game) | ||||
| 	eprintln('Encoded Game: $enc') | ||||
| 
 | ||||
| 	dec := json.decode(SomeGame, enc) ? | ||||
| 	assert enc == '{"title":"Super Mega Game","player":{"name":"Monke","_type":"Human"},"other":[{"tag":"Pen","_type":"Item"},{"tag":"Cookie","_type":"Item"},1,"Stool",{"_type":"Time","value":$t.unix_time()}]}' | ||||
| 
 | ||||
| 	dec := json.decode(SomeGame, enc) ? | ||||
| 	eprintln('Decoded Game: $dec') | ||||
| 
 | ||||
| 	assert game.title == dec.title | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue