Please split this into multiple test. Each pair of `model._coerce` and `assert.deepEqual` should be a new test. The initial setup of `model` and `ds` can be extracted into a `beforeEach` hook to avoid repetition.

These branches are not covered by tests if I read the code correctly:
- `Date` values
- `Array.isArray(DataType) || DataType === Array` (lib/dao.js:L378)
- `Array.isArray(val)` (lib/dao.js:L399)