Question.5
A developer creates a mock for testing without hardware:
class IGPIO {
public:
virtual void write(bool v) = 0;
virtual ~IGPIO() = default;
};
class RealGPIO : public IGPIO {
public:
void write(bool v) override { /* Hardware register */ }
};
class MockGPIO : public IGPIO {
public:
bool last_value;
void write(bool v) override { last_value = v; }
};
void test_led_on(IGPIO& gpio) {
LED led(gpio);
led.turn_on();
assert(((MockGPIO&)gpio).last_value == true);
}What technique does this demonstrate?