blob: 56addad511fc40173df885eb00f1855db548868f [file] [log] [blame]
// Copyright 2022 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "src/media/audio/audio_core/shared/device_id.h"
#include <gtest/gtest.h>
namespace media::audio {
namespace {
TEST(DeviceIdTest, UniqueIdFromString) {
const auto id_result_from_invalid_length = DeviceUniqueIdFromString("efef");
EXPECT_TRUE(id_result_from_invalid_length.is_error());
const auto id_result_from_invalid_content =
DeviceUniqueIdFromString("eeeeeeeeeeeeeeeeeeeeeeeeeeeeee&8");
EXPECT_TRUE(id_result_from_invalid_content.is_error());
const audio_stream_unique_id_t unique_id = {.data = {0xff, 0xeb}};
const auto valid_string = DeviceUniqueIdToString(unique_id);
const auto id_result_from_valid = DeviceUniqueIdFromString(valid_string);
EXPECT_TRUE(id_result_from_valid.is_ok());
EXPECT_EQ(memcmp(id_result_from_valid.value().data, unique_id.data, 16), 0)
<< "Expected: " << valid_string
<< " got: " << DeviceUniqueIdToString(id_result_from_valid.value());
}
TEST(DeviceIdTest, UniqueIdFromStringMixedCase) {
const audio_stream_unique_id_t unique_id = {
.data = {0xff, 0xeb, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}};
const auto valid_string = "FFeB0000000000000000000000000000";
const auto id_result_from_valid = DeviceUniqueIdFromString(valid_string);
EXPECT_TRUE(id_result_from_valid.is_ok());
EXPECT_EQ(memcmp(id_result_from_valid.value().data, unique_id.data, 16), 0)
<< "Expected: " << valid_string
<< " got: " << DeviceUniqueIdToString(id_result_from_valid.value());
}
} // namespace
} // namespace media::audio