add setUpTest, tearDownTest and use it to test buying items, improve ValueError for __getattr__