add unittests for LambdaBase

This commit is contained in:
falsycat 2023-08-01 21:14:48 +09:00
parent ac9e2af70e
commit fdb3e28eec
3 changed files with 39 additions and 0 deletions

View File

@ -35,6 +35,7 @@ target_sources(nf7_iface_test
common/observer_test.cc
common/task_test.cc
common/value_test.cc
lambda_test.cc
)
target_link_libraries(nf7_iface_test
PRIVATE

15
iface/lambda_test.cc Normal file
View File

@ -0,0 +1,15 @@
// No copyright
#include "iface/lambda.hh"
#include "iface/lambda_test.hh"
#include <gmock/gmock.h>
#include <gtest/gtest.h>
TEST(LambdaBase, TakeAndRun) {
nf7::test::LambdaBaseMock sut;
EXPECT_CALL(sut, Main);
sut.taker()->Take(nf7::Value::Null {});
}

23
iface/lambda_test.hh Normal file
View File

@ -0,0 +1,23 @@
// No copyright
#pragma once
#include "iface/lambda.hh"
#include <gmock/gmock.h>
#include "iface/common/dealer.hh"
#include "iface/common/value.hh"
namespace nf7::test {
class LambdaBaseMock : public LambdaBase {
public:
using LambdaBase::LambdaBase;
MOCK_METHOD(void, Main, (const Value&), (noexcept));
using LambdaBase::emitter;
};
} // namespace nf7::test