Add entities, and allow walking around
Add support for entities via a port of the EntityMap type, and implement command support starting at basic hjkl.
This commit is contained in:
		
							parent
							
								
									6eba471e24
								
							
						
					
					
						commit
						4ef19aa35a
					
				
					 21 changed files with 719 additions and 32 deletions
				
			
		
							
								
								
									
										26
									
								
								test/Xanthous/Data/EntityMapSpec.hs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								test/Xanthous/Data/EntityMapSpec.hs
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,26 @@ | |||
| {-# LANGUAGE ApplicativeDo #-} | ||||
| -------------------------------------------------------------------------------- | ||||
| module Xanthous.Data.EntityMapSpec where | ||||
| -------------------------------------------------------------------------------- | ||||
| import Test.Prelude | ||||
| -------------------------------------------------------------------------------- | ||||
| import Xanthous.Data.EntityMap | ||||
| -------------------------------------------------------------------------------- | ||||
| 
 | ||||
| main :: IO () | ||||
| main = defaultMain test | ||||
| 
 | ||||
| test :: TestTree | ||||
| test = testGroup "Xanthous.Data.EntityMap" | ||||
|   [ testBatch $ monoid @(EntityMap Int) mempty | ||||
|   , testGroup "Eq laws" | ||||
|     [ testProperty "reflexivity" $ \(em :: EntityMap Int) -> | ||||
|         em == em | ||||
|     , testProperty "symmetric" $ \(em₁ :: EntityMap Int) em₂ -> | ||||
|         (em₁ == em₂) == (em₂ == em₁) | ||||
|     , testProperty "transitive" $ \(em₁ :: EntityMap Int) em₂ em₃ -> | ||||
|         if (em₁ == em₂ && em₂ == em₃) | ||||
|         then (em₁ == em₃) | ||||
|         else True | ||||
|     ] | ||||
|   ] | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue