Updated tests
Added proper equals and hashcode in DefaultWeapon, and resolved similar small  bugs