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 ответов

4 просмотра

Посмотрите в сторону определения матчеров через 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 Автор вопроса

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

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

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
кто-то пользуется компонентами rx ? как их лучше ставить, через OPM? (lazarus)
Iluha Companets
15
есть тут кто-то , кто только начал изучать си? если проходите курс на степике или как-то сами изучаете, пишите, может, скооперируемся?..
Eule
25
Слушайте, ещё такая интересная задачка. Сделан аудит действий пользователей через триггеры в базе, соответственно каждый пользователь имеет свой логин и пароль в базе. Это пре...
Сергей Бычков
12
Скажите, тут нет проблемы? IMyInterface1 = interface function GetInterface2: IInterface2; ... function TMyInterface.GetInterface2: IInterface2; begin Result := TI...
Ruslan aka DUDE
18
вопрос по москвину - не понимаю вот такого вопроса похоже Сколько разных всегда завершающихся функций с типом a -> a -> b -> a -> a можно реализовать? Две функции одинаково...
Fedor
11
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Кстати, раз про скачивание файлов разговор зашел) Сделал бота для себя (транскрибирующего и суммаризирующего встречи) но не ожидал что за 2 месяца 10к пользователей набежит😅...
Andrey Obolenskiy
8
что, сложно ифдеф на версию компилятора сделать?
Iluha Companets
6
Карта сайта