Я думаю, что вы охватили все, кроме проверки 3), что элементы n
, переданные ранее, соответствуют вашим ожиданиям. Это отлавливает ошибочную проверку граничных условий, т. Е. Проверяет, заполнен ли стек только после записи нового элемента.
Кроме того, я бы сгруппировал ваши тестовые примеры по-разному и тестировал top, pop, push, empty, full для каждого:
- Пустой стек
- Стек с одним элементом *
- Стек с некоторыми элементами, возможно, вызовите pop / push дважды или чаще
- Стек почти заполнен (n-1 элементов) *
- Полный стек
* Не обязательно, но может быть угловой случай.