Update/tests

@ianstormtaylor
maybe we should put the `.restore()` logic into `.reset()` so that we only have one to call?