Loading system/types/raw_address.cc +5 −0 Original line number Diff line number Diff line Loading @@ -62,6 +62,11 @@ bool RawAddress::FromString(const std::string& from, RawAddress& to) { return true; } size_t RawAddress::FromOctets(const uint8_t* from) { std::copy(from, from + kLength, address); return kLength; }; bool RawAddress::IsValidAddress(const std::string& address) { RawAddress tmp; return RawAddress::FromString(address, tmp); Loading system/types/raw_address.h +4 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,10 @@ class RawAddress final { // returns false. Otherwise, it returns true. static bool FromString(const std::string& from, RawAddress& to); // Copies |from| raw Bluetooth address octets to the local object. // Returns the number of copied octets - should be always RawAddress::kLength size_t FromOctets(const uint8_t* from); static bool IsValidAddress(const std::string& address); static const RawAddress kEmpty; // 00:00:00:00:00:00 Loading system/types/test/raw_address_unittest.cc +34 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,21 @@ static const char* test_addr = "12:34:56:78:9a:bc"; static const char* test_addr2 = "cb:a9:87:65:43:21"; TEST(RawAddressUnittest, test_constructor_array) { RawAddress bdaddr({0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc}); ASSERT_EQ(0x12, bdaddr.address[0]); ASSERT_EQ(0x34, bdaddr.address[1]); ASSERT_EQ(0x56, bdaddr.address[2]); ASSERT_EQ(0x78, bdaddr.address[3]); ASSERT_EQ(0x9A, bdaddr.address[4]); ASSERT_EQ(0xBC, bdaddr.address[5]); std::string ret = bdaddr.ToString(); ASSERT_STREQ(test_addr, ret.c_str()); } TEST(RawAddressUnittest, test_is_empty) { RawAddress empty; RawAddress::FromString("00:00:00:00:00:00", empty); Loading @@ -49,6 +64,25 @@ TEST(RawAddressUnittest, test_to_from_str) { ASSERT_STREQ(test_addr, ret.c_str()); } TEST(RawAddressUnittest, test_from_octets) { static const uint8_t test_addr_array[] = {0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc}; RawAddress bdaddr; size_t expected_result = RawAddress::kLength; ASSERT_EQ(expected_result, bdaddr.FromOctets(test_addr_array)); ASSERT_EQ(0x12, bdaddr.address[0]); ASSERT_EQ(0x34, bdaddr.address[1]); ASSERT_EQ(0x56, bdaddr.address[2]); ASSERT_EQ(0x78, bdaddr.address[3]); ASSERT_EQ(0x9A, bdaddr.address[4]); ASSERT_EQ(0xBC, bdaddr.address[5]); std::string ret = bdaddr.ToString(); ASSERT_STREQ(test_addr, ret.c_str()); } TEST(RawAddressTest, test_equals) { RawAddress bdaddr1; RawAddress bdaddr2; Loading Loading
system/types/raw_address.cc +5 −0 Original line number Diff line number Diff line Loading @@ -62,6 +62,11 @@ bool RawAddress::FromString(const std::string& from, RawAddress& to) { return true; } size_t RawAddress::FromOctets(const uint8_t* from) { std::copy(from, from + kLength, address); return kLength; }; bool RawAddress::IsValidAddress(const std::string& address) { RawAddress tmp; return RawAddress::FromString(address, tmp); Loading
system/types/raw_address.h +4 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,10 @@ class RawAddress final { // returns false. Otherwise, it returns true. static bool FromString(const std::string& from, RawAddress& to); // Copies |from| raw Bluetooth address octets to the local object. // Returns the number of copied octets - should be always RawAddress::kLength size_t FromOctets(const uint8_t* from); static bool IsValidAddress(const std::string& address); static const RawAddress kEmpty; // 00:00:00:00:00:00 Loading
system/types/test/raw_address_unittest.cc +34 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,21 @@ static const char* test_addr = "12:34:56:78:9a:bc"; static const char* test_addr2 = "cb:a9:87:65:43:21"; TEST(RawAddressUnittest, test_constructor_array) { RawAddress bdaddr({0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc}); ASSERT_EQ(0x12, bdaddr.address[0]); ASSERT_EQ(0x34, bdaddr.address[1]); ASSERT_EQ(0x56, bdaddr.address[2]); ASSERT_EQ(0x78, bdaddr.address[3]); ASSERT_EQ(0x9A, bdaddr.address[4]); ASSERT_EQ(0xBC, bdaddr.address[5]); std::string ret = bdaddr.ToString(); ASSERT_STREQ(test_addr, ret.c_str()); } TEST(RawAddressUnittest, test_is_empty) { RawAddress empty; RawAddress::FromString("00:00:00:00:00:00", empty); Loading @@ -49,6 +64,25 @@ TEST(RawAddressUnittest, test_to_from_str) { ASSERT_STREQ(test_addr, ret.c_str()); } TEST(RawAddressUnittest, test_from_octets) { static const uint8_t test_addr_array[] = {0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc}; RawAddress bdaddr; size_t expected_result = RawAddress::kLength; ASSERT_EQ(expected_result, bdaddr.FromOctets(test_addr_array)); ASSERT_EQ(0x12, bdaddr.address[0]); ASSERT_EQ(0x34, bdaddr.address[1]); ASSERT_EQ(0x56, bdaddr.address[2]); ASSERT_EQ(0x78, bdaddr.address[3]); ASSERT_EQ(0x9A, bdaddr.address[4]); ASSERT_EQ(0xBC, bdaddr.address[5]); std::string ret = bdaddr.ToString(); ASSERT_STREQ(test_addr, ret.c_str()); } TEST(RawAddressTest, test_equals) { RawAddress bdaddr1; RawAddress bdaddr2; Loading