add sticker state tests and error checks.

This ports over tests from #5 and adds a bunch of error checking (which seems like a good idea given the error-prone nature of entering sticker data from a physical cube).