Skip to content

Проблема корректности объявления параметра у объекта Drill

Этот тест проверяет корректность обновления параметров (power, voltage, rpm) у объекта Drill. Используется метод UpdateParameters(...), и после этого сверяются полученные значения через геттеры. void testPowerUpdate() { std::cout << "Testing power update... ";

Drill drill("Test Drill", 800, 220, 3000);
drill.UpdateParameters(700, 220, 3000);

assert(drill.GetBasePower() == 700); 
assert(drill.GetVoltage() == 220);
assert(drill.GetRPM() == 3000);

std::cout << "Passed\n";

} Изначально при запуске теста возникала ошибка: поле _power не обновлялось должным образом. Это происходило из-за того, что в базовом классе AbstractElectricDevice переменная _power была объявлена как private, из-за чего производный класс Drill не имел к ней доступа при вызове UpdateParameters(...). Кроме того, метод GetBasePower() отсутствовал в ранней реализации, что делало невозможным проверить обновлённую мощность напрямую.