mem - refactored tests to make them be reused for other implementations