#pragma once

#include <UART_Interface.hpp>

class MockUART : public UART
{
  public:
	virtual ~MockUART();

	virtual void
		receive(uint8_t receive_buffer[], size_t receive_size, const UART::cb_t& rx_callback,
				std::chrono::milliseconds receive_timeout_ms = std::chrono::milliseconds(0));

	virtual void transmit(const uint8_t transmit_buffer[], size_t transmit_size);

	virtual void transmit(const std::string_view to_send);
};