Path: blob/master/libraries/AP_Common/tests/test_nmea_print.cpp
9546 views
#include <AP_gtest.h>1#include <AP_HAL/UARTDriver.h>2#include <AP_Common/NMEA.h>34const AP_HAL::HAL& hal = AP_HAL::get_HAL();56class DummyUart: public AP_HAL::UARTDriver {7public:8bool is_initialized() override { return true; };9bool tx_pending() override { return false; };10uint32_t txspace() override { return _txspace; };1112void set_txspace(uint32_t space) {13_txspace = space;14}15uint32_t _txspace;1617protected:18uint32_t _available() override { return 1; };19void _begin(uint32_t baud, uint16_t rxSpace, uint16_t txSpace) override { };20void _end() override { };21void _flush() override { };22size_t _write(const uint8_t *buffer, size_t size) override { return 1; };23ssize_t _read(uint8_t *buf, uint16_t count) override { return 0; };24bool _discard_input() override { return false; }25};2627static DummyUart test_uart;282930TEST(NMEA, Printf)31{32// test not enough space33test_uart.set_txspace(2);34EXPECT_FALSE(nmea_printf(&test_uart, "TEST"));35// normal test36test_uart.set_txspace(9);37EXPECT_TRUE(nmea_printf(&test_uart, "TEST"));38}3940AP_GTEST_MAIN()414243