mirror of
https://github.com/logos-co/logos-tutorial.git
synced 2026-08-31 12:51:14 +00:00
37 lines
1.0 KiB
C++
37 lines
1.0 KiB
C++
#include <logos_test.h>
|
|||
|
|
#include "calc_module_impl.h"
|
||
|
|
|
||
|
|
LOGOS_TEST(add_forwards_to_calc_add) {
|
||
|
|
auto t = LogosTestContext("calc_module");
|
||
|
|
t.mockCFunction("calc_add").returns(8);
|
||
|
|
|
||
|
|
CalcModuleImpl calc;
|
||
|
|
LOGOS_ASSERT_EQ(calc.add(3, 5), 8);
|
||
|
|
LOGOS_ASSERT(t.cFunctionCalled("calc_add"));
|
||
|
|
}
|
||
|
|
|
||
|
|
LOGOS_TEST(multiply_forwards_to_calc_multiply) {
|
||
|
|
auto t = LogosTestContext("calc_module");
|
||
|
|
t.mockCFunction("calc_multiply").returns(42);
|
||
|
|
|
||
|
|
CalcModuleImpl calc;
|
||
|
|
LOGOS_ASSERT_EQ(calc.multiply(6, 7), 42);
|
||
|
|
LOGOS_ASSERT(t.cFunctionCalled("calc_multiply"));
|
||
|
|
}
|
||
|
|
|
||
|
|
LOGOS_TEST(factorial_returns_mocked_value) {
|
||
|
|
auto t = LogosTestContext("calc_module");
|
||
|
|
t.mockCFunction("calc_factorial").returns(120);
|
||
|
|
|
||
|
|
CalcModuleImpl calc;
|
||
|
|
LOGOS_ASSERT_EQ(calc.factorial(5), 120);
|
||
|
|
}
|
||
|
|
|
||
|
|
LOGOS_TEST(libVersion_converts_cstring_to_string) {
|
||
|
|
auto t = LogosTestContext("calc_module");
|
||
|
|
t.mockCFunction("calc_version").returns("1.0.0");
|
||
|
|
|
||
|
|
CalcModuleImpl calc;
|
||
|
|
LOGOS_ASSERT_EQ(calc.libVersion(), std::string("1.0.0"));
|
||
|
|
}
|