diff options
author | Arnaud Gelas <arnaud.gelas@sensefly.com> | 2019-02-04 15:52:30 +0100 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2019-11-19 15:38:34 +0100 |
commit | 226a89cc434649ca4a4230cccac81976dfda9592 (patch) | |
tree | 42bf9e0e620a9abafeb2e93d49e3451626884f21 /tests | |
parent | 1e21400a7923a2e539c7a4b078fb3e445a493c35 (diff) | |
download | cmocka-226a89cc434649ca4a4230cccac81976dfda9592.tar.gz cmocka-226a89cc434649ca4a4230cccac81976dfda9592.tar.xz cmocka-226a89cc434649ca4a4230cccac81976dfda9592.zip |
cmocka: Add new assert macros to compare 2 double given an epsilon.
assert_double_equal and assert_double_not_equal
Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/CMakeLists.txt | 1 | ||||
-rw-r--r-- | tests/test_double_macros.c | 40 |
2 files changed, 41 insertions, 0 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index def90d3..7487a9c 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -16,6 +16,7 @@ set(CMOCKA_TESTS test_group_fixtures test_groups test_float_macros + test_double_macros test_assert_macros test_assert_macros_fail test_basics diff --git a/tests/test_double_macros.c b/tests/test_double_macros.c new file mode 100644 index 0000000..138c579 --- /dev/null +++ b/tests/test_double_macros.c @@ -0,0 +1,40 @@ +/* + * Copyright 2019 Arnaud Gelas <arnaud.gelas@sensefly.com> + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* Use the unit test allocators */ +#define UNIT_TESTING 1 + +#include <stdarg.h> +#include <stddef.h> +#include <setjmp.h> +#include <cmocka.h> + +/* A test case that does check if double is equal. */ +static void double_test_success(void **state) +{ + (void)state; /* unused */ + + assert_double_equal(0.5, 1. / 2., 0.000001); + assert_double_not_equal(0.5, 0.499, 0.000001); +} + +int main(void) { + const struct CMUnitTest tests[] = { + cmocka_unit_test(double_test_success), + }; + + return cmocka_run_group_tests(tests, NULL, NULL); +} |