This a list of some interesting tests your program could have handle: a. basic transactions (insertion of nonexisting identifier, deletion of existing identifier, and modification of existing identifier); b. multiple reference to the same identifier in different transaction files or in the same transaction file; c. erroneous transactions (insertion of existing identifier, deletion of nonexisting identifier, and modification of nonexisting identifier); d. sintax errors, type transaction out of range, etc.