add tests for pushing and popping