Make getUnusable return a list of reasons

and update test class to test unusability