170 похожих чатов

В GTest/GMock можно свой тип в matcher подставить? : //mock_spi.hpp #pragma once namespace SpiMock { class

SpiMocker
{
public:
SpiMocker() = default;

~SpiMocker() = default;

public:
MOCK_METHOD(std::span<const std::uint8_t>, receivedData, ());
MOCK_METHOD(void, sentData, (std::span<const std::uint8_t>));

private:
GTEST_DISALLOW_COPY_AND_ASSIGN_(SpiMocker);
};

}; // namespace Gpio
Использую так:
constexpr const std::array<std::uint8_t, ProgramPageCommandLength> pageProgramCommand{
WindbondCommandSet::PageProgram,
static_cast<std::uint8_t>(address >> 16),
static_cast<std::uint8_t>(address >> 8),
static_cast<std::uint8_t>(address)};

testing::Sequence sequence;

// https://gist.github.com/cppengineer/f1b6bc0f04ac7c29e963364f2c564a5e

const auto& commandSpan = std::span(pageProgramCommand.data(), pageProgramCommand.size());
EXPECT_CALL(spiMockAccess(), sentData).With(commandSpan)
.Times(1)
.InSequence(sequence);

.With не может параметр нормально принять, выдает ошибку:
cannot convert argument 1 from 'const std::span<const uint8_t,18446744073709551615>' to 'const testing::Matcher<const std::tuple<std::span<const uint8_t,18446744073709551615>> &> &'

21 ответов

15 просмотров

Посмотрите в сторону определения матчеров через MATCHER_P

firther-Korniienko Автор вопроса
Ананданатх
Посмотрите в сторону определения матчеров через MA...

А эти матчеры можно не только в EXPECT_ выражениях использовать?

firther Korniienko
А эти матчеры можно не только в EXPECT_ выражениях...

В cookbook пишту, что "The expression inside With() must be a matcher of type Matcher<std::tuple<A1, ..., An>>, where A1, …, An are the types of the function arguments."

firther-Korniienko Автор вопроса
Ананданатх
В cookbook пишту, что "The expression inside With(...

Огромное спасибо! MATCHER_P(SpanChecker, spanItem, "Span content equals") { return std::ranges::equal(spanItem,std::get<0>(arg)); } Вот так получилось

боже что за уродство

firther Korniienko
Что такое?

почему в плюсах сразу три стиля нейминга?

firther-Korniienko Автор вопроса
firther Korniienko
Это претензия ко мне или к С++?:D

к авторам либы просто снейк_кейс и камелКейс еще както можно выдержать но когда еще ПаскальКейс это бред полный

firther-Korniienko Автор вопроса
гλI3 🇺🇦 гΔφ 🐈 ябвдулавич
к авторам либы просто снейк_кейс и камелКейс еще ...

В смысле. Названия структур/классов - ВсеСловаЗаглавнаяБуква. методы- так же или перваяМаленькая.

firther-Korniienko Автор вопроса
гλI3 🇺🇦 гΔφ 🐈 ябвдулавич
к авторам либы просто снейк_кейс и камелКейс еще ...

Вы сейчас ходите по скользкой дорожке непонимания работы функций в С++.

гλI3 🇺🇦 гΔφ 🐈 ябвдулавич
к авторам либы просто снейк_кейс и камелКейс еще ...

Пасцал - это стиль гугловский, а остальное это стиль юзера либы

firther-Korniienko Автор вопроса
firther-Korniienko Автор вопроса
гλI3 🇺🇦 гΔφ 🐈 ябвдулавич
к авторам либы просто снейк_кейс и камелКейс еще ...

И это не бред, особенности кодстайла. Советую посмотреть в кодбазы Clang/Mozilla/Chrome.

firther Korniienko
И это не бред, особенности кодстайла. Советую посм...

помню мне сказали что я нейминг плохой сделал, а я наоборот разделил нейминг на юзер интерфейс, детали реализации и всё круто было(( Если вы не видите закономерностей, это не значит что их нет 0))

firther-Korniienko Автор вопроса

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта