Improve tests for AbstractDataSource subclasses

These are fairly basic objects with almost no tests, and tests should be straightforward.
Metadata is tested in its own unit test.  I'll add the others.