blob: 1192dd9ce676895d72e8797293b97c92d1677b28 [file] [log] [blame]
/*
* Copyright (c) 2016 Intel Corporation
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <ztest.h>
static void expect_one_parameter(int a)
{
ztest_check_expected_value(a);
}
static void expect_two_parameters(int a, int b)
{
ztest_check_expected_value(a);
ztest_check_expected_value(b);
}
static void test_parameter_tests(void)
{
ztest_expect_value(expect_one_parameter, a, 1);
expect_one_parameter(1);
ztest_expect_value(expect_two_parameters, a, 2);
ztest_expect_value(expect_two_parameters, b, 3);
expect_two_parameters(2, 3);
}
static int returns_int(void)
{
return ztest_get_return_value();
}
static void test_return_value_tests(void)
{
ztest_returns_value(returns_int, 5);
zassert_equal(returns_int(), 5, NULL);
}
static void test_multi_value_tests(void)
{
/* Setup expects for three mock calls */
ztest_expect_value(expect_one_parameter, a, 1);
ztest_expect_value(expect_two_parameters, a, 2);
ztest_expect_value(expect_two_parameters, b, 3);
ztest_returns_value(returns_int, 5);
/* Verify mock behavior */
expect_one_parameter(1);
zassert_equal(returns_int(), 5, NULL);
expect_two_parameters(2, 3);
}
static void returns_data(uint8_t *buf, size_t buf_size)
{
ztest_copy_return_data(buf, buf_size);
}
static void test_return_data_tests(void)
{
uint8_t expected_data[] = { 0x5A, 0xA5, 0xDE, 0xAD };
uint8_t data[] = { 0xFF, 0xFF, 0xFF, 0xFF };
ztest_expect_data(returns_data, buf, expected_data);
returns_data(data, sizeof(data));
zassert_mem_equal(expected_data, data, sizeof(data), NULL);
}
void test_main(void)
{
ztest_test_suite(mock_framework_tests,
ztest_unit_test(test_parameter_tests),
ztest_unit_test(test_return_value_tests),
ztest_unit_test(test_multi_value_tests),
ztest_unit_test(test_return_data_tests)
);
ztest_run_test_suite(mock_framework_tests);
}