Implement saving+loading the game
Implement ToJSON and FromJSON for all of the various pieces of the game state, and add a pair of functions saveGame/loadGame implementing a prism to save the game as zlib-compressed JSON. To test this, there's now Arbitrary, CoArbitrary, and Function instances for all the parts of the game state - to get around circular imports with the concrete entities this unfortunately is happening via orphan instances, plus an hs-boot file to break a circular import that was just a little too hard to remove by moving things around. Ugh.
This commit is contained in:
		
							parent
							
								
									2f2e5a0b68
								
							
						
					
					
						commit
						f37d0f75c0
					
				
					 30 changed files with 620 additions and 97 deletions
				
			
		|  | @ -13,6 +13,7 @@ import Test.Tasty.QuickCheck | |||
| import Test.Tasty.HUnit | ||||
| import Test.QuickCheck.Classes | ||||
| import Test.QuickCheck.Checkers (TestBatch) | ||||
| import Test.QuickCheck.Instances.ByteString () | ||||
| 
 | ||||
| testBatch :: TestBatch -> TestTree | ||||
| testBatch (name, tests) = testGroup name $ uncurry testProperty <$> tests | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue