Who would win in a fight between a Yorkshire terrier and a cat?

The Cat would win hands down.

Cats have much sharper claws and teeth and they are much faster and more agile than most breeds of dogs including Yorkshire terrier. (contrary to popular opinion, cats can often defeat dogs considerably larger than themselves)