backfill tests

* and dry refactor candidate counts into function