add empty check to QTree.random()
pair type
update test coverage
test coverage reporting