Collapse tests into a simple contract
Collapse tests into a simple contract

Collapse the tests into simple `for`-loops covering a large variety of
cases. This should make it much easier to maintain, grant more
confidence in its accuracy, and be easier to follow. Further instead of
testing things like what `slice` is returned, which is not guaranteed,
it tests that `reformat_slice` is matching certain constraints. In
particular, that the reformatted `slice` returns the same results as the
original `slice`. Also that it works with or with the length of the
object specified. Finally it tests that the `slice`'s length can be
easily determined if the length of the sequence was used to reformat the
`slice`.

jakirkham/kenjutsu