add unit/integrted tests for dpc

You don't really need any of this `try..except..else` logic unless you want to change the type of exception raised.  Also, the exception I expect to be raised in this block is `ValueError`, not `IndexError`