Anyway - control: poor argument, there's no need to be in control of every piece of software in a good Linux distro - in fact, it can be a disadvantage. Canonical isn't in control of the Linux kernel either, yet it works just fine for them and every other Linux distro. Canonical is simply unable to collaborate with others, and in this they lose a very valuable resource, the manpower and knowledge and skill of a lot of developers. Besides, the whole point of "control" is moot, because Wayland is an open standard - Canonical would be free to jump in to the development of the standard and propose any extension they need, and a stable, common API across all Linux OS's would be beneficial to all, and they could still implement their own Wayland compositor and have 100% control of it.
Cleaner codebase - there's no evidence of this being the case. Wayland devs are professional coders, with years of experience of the graphics stack, years of experience patching up and maintaining X so they know what works and what doesn't, and what is the best way to do things. Canonical has none of this, all they can aspire to do is stay behind Wayland and mimic them.
Tests - Martin Gräßlin already made really good arguments as to why test-driven development isn't necessarily the best way to write code. There's plenty of projects that produce excellent code without being test-driven.
What Canonical is doing is harmful to the entire Linux platform. Without Mir, we'd have a common API for almost the entire Linux platform (excluding Android). Canonical was on board with the Wayland plan until a few months ago, and now they seem to be hiring Microsoft "ex-workers" (read: moles) left and right and kissing up Microsoft's ass. Makes you wonder...