pop empty throws exception: passed
peek empty throws exception: passed
push doesn't throw: passed
push, then pop gives value: passed
push, then pop, then pop throws exception because empty: passed
push 1, push 2, push 3, then pop pop pop gives 3 2 1: passed