Skip to content

Commit 4ba0765

Browse files
silabs-aydoganerzr
authored andcommitted
uic: zpc: UIC-3621: Add unit test to validate LR node bitmask layout
(cherry picked from commit 749a985e7171563328783fe284b0a12ecedb3c49) Forwarded: #11 Signed-off-by: Philippe Coval <philippe.coval@silabs.com>
1 parent 006dfd3 commit 4ba0765

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

applications/zpc/components/zpc_attribute_store/test/zwave_utils_test.c

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -632,6 +632,38 @@ void test_nodemask_add_node()
632632
TEST_ASSERT_EQUAL(0, IS_ZWAVE_EXTENDED_NODE_ID(232));
633633
}
634634

635+
void test_nodemask_values()
636+
{
637+
zwave_nodemask_t nodemask = {0};
638+
639+
nodemask[0] = 0x81; // Node IDs: 1 (first classic node ID), 8
640+
TEST_ASSERT_EQUAL(1, ZW_IS_NODE_IN_MASK(1, nodemask));
641+
TEST_ASSERT_EQUAL(0, ZW_IS_NODE_IN_MASK(2, nodemask));
642+
TEST_ASSERT_EQUAL(0, ZW_IS_NODE_IN_MASK(7, nodemask));
643+
TEST_ASSERT_EQUAL(1, ZW_IS_NODE_IN_MASK(8, nodemask));
644+
TEST_ASSERT_EQUAL(0, ZW_IS_NODE_IN_MASK(9, nodemask));
645+
nodemask[28] = 0xC0; // Node IDs: 231, 232 (last classic node ID)
646+
TEST_ASSERT_EQUAL(0, ZW_IS_NODE_IN_MASK(230, nodemask));
647+
TEST_ASSERT_EQUAL(1, ZW_IS_NODE_IN_MASK(231, nodemask));
648+
TEST_ASSERT_EQUAL(1, ZW_IS_NODE_IN_MASK(232, nodemask));
649+
nodemask[32] = 0x01; // Node IDs: 256 (first LR node ID)
650+
TEST_ASSERT_EQUAL(1, ZW_IS_NODE_IN_MASK(256, nodemask));
651+
nodemask[32] = 0x02; // Node IDs: 257
652+
TEST_ASSERT_EQUAL(1, ZW_IS_NODE_IN_MASK(257, nodemask));
653+
nodemask[127] = 0x80; // Node IDs: 1023
654+
TEST_ASSERT_EQUAL(1, ZW_IS_NODE_IN_MASK(1023, nodemask));
655+
nodemask[128] = 0x01; // Node IDs: 1024
656+
TEST_ASSERT_EQUAL(1, ZW_IS_NODE_IN_MASK(1024, nodemask));
657+
nodemask[130] = 0x80; // Node IDs: 1047
658+
TEST_ASSERT_EQUAL(1, ZW_IS_NODE_IN_MASK(1047, nodemask));
659+
nodemask[131] = 0x01; // Node IDs: 1048
660+
TEST_ASSERT_EQUAL(1, ZW_IS_NODE_IN_MASK(1048, nodemask));
661+
nodemask[147] = 0x10; // Node IDs: 1180
662+
TEST_ASSERT_EQUAL(1, ZW_IS_NODE_IN_MASK(1180, nodemask));
663+
nodemask[159] = 0x80; // Node IDs: 1279
664+
TEST_ASSERT_EQUAL(1, ZW_IS_NODE_IN_MASK(1279, nodemask));
665+
}
666+
635667
static const zwave_node_id_t test_node_id = 0x39;
636668
static const zwave_endpoint_id_t test_endpoint_id = 0x12;
637669
static unid_t test_unid = "zw-00000000-0039";

0 commit comments

Comments
 (0)