Draft for str tests.

Tell me what you think.
By dimension types I think TJ means things like `3 * foo`.  These can get more complex but doing what you have so far is a great start.