21#include "pw_bytes/span.h"
22#include "pw_containers/to_array.h"
23#include "pw_spi/initiator.h"
42 : return_value_(expected_return_value),
56 const Status return_value_;
82 : expected_transactions_(transaction_list),
83 expected_transaction_index_(0) {}
91 if (expected_transaction_index_ != expected_transactions_.size()) {
102 size_t expected_transaction_index_;
125template <
size_t kSize>
static constexpr Status OutOfRange()
Operation attempted out of range; e.g. seeking past end of file.
Definition: status.h:172
Definition: initiator.h:106
Definition: initiator_mock.h:79
Definition: initiator_mock.h:36
constexpr std::array< std::remove_cv_t< T >, kSize > to_array(T(&values)[kSize])
Definition: to_array.h:55
constexpr std::array< MockTransaction, kSize > MakeExpectedTransactionArray(const MockTransaction(&transactions)[kSize])
Makes a new SPI transactions list.
Definition: initiator_mock.h:126
pw::Status DoWriteRead(pw::ConstByteSpan, pw::ByteSpan) override
constexpr MockTransaction(Status expected_return_value, ConstByteSpan write_buffer, ConstByteSpan read_buffer)
Same set of parameters as Initiator::WriteRead().
Definition: initiator_mock.h:39
ConstByteSpan write_buffer() const
Gets the buffer that should be written by the driver.
Definition: initiator_mock.h:50
Status return_value() const
Gets the expected return value.
Definition: initiator_mock.h:53
Status Finalize() const
Definition: initiator_mock.h:90
~MockInitiator() override
Runs Finalize() regardless of whether it was already optionally finalized.
constexpr MockTransaction MockReadTransaction(Status expected_return_value, ConstByteSpan read_buffer)
A helper that constructs a read only transaction.
Definition: initiator_mock.h:62
ConstByteSpan read_buffer() const
Gets the buffer that is virtually read.
Definition: initiator_mock.h:47
constexpr MockTransaction MockWriteTransaction(Status expected_return_value, ConstByteSpan write_buffer)
A helper that constructs a write only transaction.
Definition: initiator_mock.h:68
constexpr Status OkStatus()
Definition: status.h:297
Definition: initiator.h:67