raise if non-unique keys exist
split tests
rename spec and remove pointless expectations