I believe the tests should test real public API as much as possible, i.e. the corresponding schedule* functions. Sometimes it's "very hard" to test public API and much easier to test almost as much via a private API, or the private thing is trivial -- like a constant that's convenient to use in a test, but here I don't think either of these excuses applies.

I think I started without schedule, and so the tests were testing the non-scheduling functions, kill in particular. I think those original versions of the kills are completely gone by now. Now the API is predominantly scheduling, we know exactly how to test them, and so there is really no gain from testing something other than the real public API.