blob: b56e5fc4a3b84dd2066b47c97b79983d548f82a2 [file] [log] [blame]
/* Copyright (c) 2022 Nordic Semiconductor ASA
* SPDX-License-Identifier: Apache-2.0
*/
#include <zephyr/bluetooth/addr.h>
#include <zephyr/ztest.h>
ZTEST_SUITE(bt_addr_le_eq, NULL, NULL, NULL, NULL, NULL);
ZTEST(bt_addr_le_eq, test_all_zero)
{
bt_addr_le_t a = {.type = 0, .a = {{0, 0, 0, 0, 0, 0}}};
bt_addr_le_t b = a;
zassert_true(bt_addr_le_eq(&a, &b));
}
ZTEST(bt_addr_le_eq, test_type_not_zero)
{
bt_addr_le_t a = {.type = 1, .a = {{1, 2, 3, 4, 5, 6}}};
bt_addr_le_t b = a;
zassert_true(bt_addr_le_eq(&a, &b));
}
ZTEST(bt_addr_le_eq, test_type_matters)
{
bt_addr_le_t a = {.type = 0, .a = {{1, 2, 3, 4, 5, 6}}};
bt_addr_le_t b = a;
zassume_true(bt_addr_le_eq(&a, &b));
a.type = 1;
zassert_false(bt_addr_le_eq(&a, &b));
}
ZTEST(bt_addr_le_eq, test_address_matters_start)
{
bt_addr_le_t a = {.type = 0, .a = {{1, 2, 3, 4, 5, 6}}};
bt_addr_le_t b = a;
zassume_true(bt_addr_le_eq(&a, &b));
a.a.val[0] = 0;
zassert_false(bt_addr_le_eq(&a, &b));
}
ZTEST(bt_addr_le_eq, test_address_matters_end)
{
bt_addr_le_t a = {.type = 0, .a = {{1, 2, 3, 4, 5, 6}}};
bt_addr_le_t b = a;
zassume_true(bt_addr_le_eq(&a, &b));
a.a.val[5] = 0;
zassert_false(bt_addr_le_eq(&a, &b));
}
ZTEST(bt_addr_le_eq, test_only_type_and_address_matters)
{
bt_addr_le_t a;
bt_addr_le_t b;
/* Make anything that is not the type and address unequal bytes. */
memset(&a, 0xaa, sizeof(a));
memset(&b, 0xbb, sizeof(b));
a.type = 1;
b.type = 1;
memset(a.a.val, 1, sizeof(a.a.val));
memset(b.a.val, 1, sizeof(b.a.val));
zassert_true(bt_addr_le_eq(&a, &b));
}
ZTEST(bt_addr_le_eq, test_same_object)
{
bt_addr_le_t a = {.type = 0, .a = {{1, 2, 3, 4, 5, 6}}};
zassert_true(bt_addr_le_eq(&a, &a));
}