Updated with more tests and made tests modular

Can we avoid arg[\d] variables when possible? I mean, can we use a descriptive name when there is only one meaning. For example, here: arg1 -> attribute and arg2 -> numItems.