-
Notifications
You must be signed in to change notification settings - Fork 98
Description
В данном тесте предлагается сделать вложение в стек массива из 5 элементов
const size_t size = 5;
const int data_in[size] = {1};
stack_push(stack, &data_in, sizeof(data_in)); // В стеке [1,0,0,0,0]После этого создаётся выходной массив, состоящий из 4-х элементов и идет обращение к стеку, чтобы получить данные
int data_out[size - 1] = {0};
stack_pop(stack, data_out, sizeof(data_out)); // ???Тестирующая программа ожидает получить на выходе четыре 0,
EXPECT_THAT(data_out, ::testing::Each(0)); // Программа ожидает на выходе 0,0,0,0
// То есть программа ожидает, что мы начнем читать массив из стека "справа-налево" [1,0,0,0,0]<-
// Хотя добавлялись не элементы массива поочередно, а сразу весь массив
// То есть именно массив у нас является элементом стекаНо это значит, что программа ожидает поэлементного добавления массива в стек, что-то вроде
stack_push(stack, &data_in[0], sizeof(data_in[0]));
stack_push(stack, &data_in[1], sizeof(data_in[1]));
// ...
stack_push(stack, &data_in[4], sizeof(data_in[4]));В ТЗ особых требований по работе с массивом элементов не было, но есть указание, что данные не типизированы. Разумно расценивать массив, как один элемент, который загружается в стек. Поскольку индексирование массива идёт с первого элемента, то разумно ожидать на выходе из стека [1,0,0,0], а не [0,0,0,0]
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels