adm_to_user_metadata.*: Use `EXPECT_THAT(statement, IsOk);` instead of `EXPECT_TRUE(statement.ok());`.

  - Status matchers automatically log the status on failure.
    - This is easier to debug than the old style.
    - Remove some obsolete ad-hoc logging of status on failed tests.
  - Drive-by changes: Fix some typos, `constexpr` in tests.

PiperOrigin-RevId: 635314137
diff --git a/iamf/cli/adm_to_user_metadata/adm/BUILD b/iamf/cli/adm_to_user_metadata/adm/BUILD
index 6c0dee2..92d0fec 100644
--- a/iamf/cli/adm_to_user_metadata/adm/BUILD
+++ b/iamf/cli/adm_to_user_metadata/adm/BUILD
@@ -30,10 +30,10 @@
         "//iamf/cli/adm_to_user_metadata/app:__pkg__",
     ],
     deps = [
+        ":bw64_reader",
+        ":format_info_chunk",
+        ":xml_to_adm",
         "//iamf/cli:wav_writer",
-        "//iamf/cli/adm_to_user_metadata/adm:bw64_reader",
-        "//iamf/cli/adm_to_user_metadata/adm:format_info_chunk",
-        "//iamf/cli/adm_to_user_metadata/adm:xml_to_adm",
         "@com_google_absl//absl/status",
         "@com_google_absl//absl/strings",
         "@com_google_absl//absl/strings:string_view",
diff --git a/iamf/cli/adm_to_user_metadata/adm/tests/BUILD b/iamf/cli/adm_to_user_metadata/adm/tests/BUILD
index bd6b9d6..35354d5 100644
--- a/iamf/cli/adm_to_user_metadata/adm/tests/BUILD
+++ b/iamf/cli/adm_to_user_metadata/adm/tests/BUILD
@@ -3,6 +3,7 @@
     srcs = ["bw64_reader_test.cc"],
     deps = [
         "//iamf/cli/adm_to_user_metadata/adm:bw64_reader",
+        "@com_google_absl//absl/status:status_matchers",
         "@com_google_absl//absl/strings:string_view",
         "@com_google_googletest//:gtest_main",
     ],
@@ -14,6 +15,7 @@
     deps = [
         "//iamf/cli/adm_to_user_metadata/adm:bw64_reader",
         "//iamf/cli/adm_to_user_metadata/adm:wav_file_splicer",
+        "@com_google_absl//absl/status:status_matchers",
         "@com_google_absl//absl/strings:string_view",
         "@com_google_googletest//:gtest_main",
     ],
@@ -24,6 +26,7 @@
     srcs = ["xml_to_adm_test.cc"],
     deps = [
         "//iamf/cli/adm_to_user_metadata/adm:xml_to_adm",
+        "@com_google_absl//absl/status:status_matchers",
         "@com_google_absl//absl/strings:string_view",
         "@com_google_googletest//:gtest_main",
     ],
diff --git a/iamf/cli/adm_to_user_metadata/adm/tests/bw64_reader_test.cc b/iamf/cli/adm_to_user_metadata/adm/tests/bw64_reader_test.cc
index d546fc3..8dc360b 100644
--- a/iamf/cli/adm_to_user_metadata/adm/tests/bw64_reader_test.cc
+++ b/iamf/cli/adm_to_user_metadata/adm/tests/bw64_reader_test.cc
@@ -17,13 +17,17 @@
 #include <sstream>
 #include <string>
 
+#include "absl/status/status_matchers.h"
 #include "absl/strings/string_view.h"
+#include "gmock/gmock.h"
 #include "gtest/gtest.h"
 
 namespace iamf_tools {
 namespace adm_to_user_metadata {
 namespace {
 
+using ::absl_testing::IsOk;
+
 constexpr int32_t kImportanceThreshold = 10;
 
 constexpr absl::string_view kValidWav(
@@ -68,7 +72,7 @@
                           absl::string_view chunk_name, int32_t expected_size,
                           int32_t expected_offset) {
   const auto chunk_info = reader.GetChunkInfo(chunk_name);
-  ASSERT_TRUE(chunk_info.ok());
+  ASSERT_THAT(chunk_info, IsOk());
   EXPECT_EQ(chunk_info->size, expected_size);
   EXPECT_EQ(chunk_info->offset, expected_offset);
 }
@@ -83,7 +87,7 @@
   std::istringstream ss((std::string(kValidWav)));
 
   const auto reader = Bw64Reader::BuildFromStream(kImportanceThreshold, ss);
-  ASSERT_TRUE(reader.ok());
+  ASSERT_THAT(reader, IsOk());
 
   // Chunk name | Size | Offset
   // -----------|------|-------
@@ -103,7 +107,7 @@
   std::istringstream ss((std::string(kValidWav)));
 
   const auto reader = Bw64Reader::BuildFromStream(kImportanceThreshold, ss);
-  ASSERT_TRUE(reader.ok());
+  ASSERT_THAT(reader, IsOk());
 
   EXPECT_EQ(reader->format_info_.format_tag, kExpectedFormatTag);
   EXPECT_EQ(reader->format_info_.num_channels, kExpectedNumChannels);
@@ -117,7 +121,7 @@
   std::istringstream ss((std::string(kValidWav)));
 
   const auto reader = Bw64Reader::BuildFromStream(kImportanceThreshold, ss);
-  ASSERT_TRUE(reader.ok());
+  ASSERT_THAT(reader, IsOk());
 
   EXPECT_EQ(reader->adm_.audio_objects.size(), kExpectedNumObjects);
 }
@@ -126,7 +130,7 @@
   std::istringstream ss((std::string(kValidWav)));
 
   const auto reader = Bw64Reader::BuildFromStream(kImportanceThreshold, ss);
-  ASSERT_TRUE(reader.ok());
+  ASSERT_THAT(reader, IsOk());
 
   // Returns error when Looking up an invalid chunk name returns an error.
   EXPECT_FALSE(reader->GetChunkInfo("INVALID_CHUNK").ok());
@@ -135,10 +139,10 @@
 TEST(GetTotalSamplesPerChannel, ReturnsTotalSamplesPerChannel) {
   std::istringstream ss((std::string(kValidWav)));
   auto reader = Bw64Reader::BuildFromStream(kImportanceThreshold, ss);
-  ASSERT_TRUE(reader.ok());
+  ASSERT_THAT(reader, IsOk());
 
   const auto total_samples_per_channel = reader->GetTotalSamplesPerChannel();
-  ASSERT_TRUE(total_samples_per_channel.ok());
+  ASSERT_THAT(total_samples_per_channel, IsOk());
 
   EXPECT_EQ(*total_samples_per_channel, kExpectedTotalSamplesPerChannel);
 }
@@ -165,7 +169,7 @@
 
   std::istringstream ss((std::string(kInvalidNumberOfChannels)));
   const auto reader = Bw64Reader::BuildFromStream(kImportanceThreshold, ss);
-  ASSERT_TRUE(reader.ok());
+  ASSERT_THAT(reader, IsOk());
 
   EXPECT_FALSE(reader->GetTotalSamplesPerChannel().ok());
 }
diff --git a/iamf/cli/adm_to_user_metadata/adm/tests/wav_file_splicer_test.cc b/iamf/cli/adm_to_user_metadata/adm/tests/wav_file_splicer_test.cc
index f48822b..8ac9cc7 100644
--- a/iamf/cli/adm_to_user_metadata/adm/tests/wav_file_splicer_test.cc
+++ b/iamf/cli/adm_to_user_metadata/adm/tests/wav_file_splicer_test.cc
@@ -20,7 +20,9 @@
 #include <sstream>
 #include <string>
 
+#include "absl/status/status_matchers.h"
 #include "absl/strings/string_view.h"
+#include "gmock/gmock.h"
 #include "gtest/gtest.h"
 #include "iamf/cli/adm_to_user_metadata/adm/bw64_reader.h"
 
@@ -28,6 +30,8 @@
 namespace adm_to_user_metadata {
 namespace {
 
+using ::absl_testing::IsOk;
+
 constexpr int32_t kImportanceThreshold = 10;
 
 constexpr absl::string_view kAdmBwfWithOneStereoObject(
@@ -181,10 +185,11 @@
 TEST(SpliceWavFilesFromAdm, CreatesWavFiles) {
   std::istringstream ss((std::string(kAdmBwfWithOneStereoObject)));
   const auto reader = Bw64Reader::BuildFromStream(kImportanceThreshold, ss);
-  ASSERT_TRUE(reader.ok());
+  ASSERT_THAT(reader, IsOk());
 
-  EXPECT_TRUE(
-      SpliceWavFilesFromAdm(::testing::TempDir(), "prefix", *reader, ss).ok());
+  EXPECT_THAT(
+      SpliceWavFilesFromAdm(::testing::TempDir(), "prefix", *reader, ss),
+      IsOk());
   EXPECT_TRUE(std::filesystem::exists(
       std::filesystem::path(::testing::TempDir()) / "prefix_converted1.wav"));
 }
@@ -194,7 +199,7 @@
   std::istringstream ss(
       (std::string(kInvalidWavFileWithInconsistentDataChunkSize)));
   const auto reader = Bw64Reader::BuildFromStream(kImportanceThreshold, ss);
-  ASSERT_TRUE(reader.ok());
+  ASSERT_THAT(reader, IsOk());
   const auto kPathOnSuccess =
       std::filesystem::path(::testing::TempDir()) / "prefix_converted1.wav";
   std::filesystem::remove(kPathOnSuccess);
@@ -207,10 +212,11 @@
 TEST(SpliceWavFilesFromAdm, StripsAxmlChunkAndUpdatesChunkSizes) {
   std::istringstream ss((std::string(kAdmBwfWithOneStereoObject)));
   const auto reader = Bw64Reader::BuildFromStream(kImportanceThreshold, ss);
-  ASSERT_TRUE(reader.ok());
+  ASSERT_THAT(reader, IsOk());
 
-  ASSERT_TRUE(
-      SpliceWavFilesFromAdm(::testing::TempDir(), "prefix", *reader, ss).ok());
+  ASSERT_THAT(
+      SpliceWavFilesFromAdm(::testing::TempDir(), "prefix", *reader, ss),
+      IsOk());
 
   ValidateFileContents(
       std::filesystem::path(::testing::TempDir()) / "prefix_converted1.wav",
@@ -220,10 +226,11 @@
 TEST(SpliceWavFilesFromAdm, OutputsOneWavFilePerObject) {
   std::istringstream ss((std::string(kAdmBwfWithOneStereoAndOneMonoObject)));
   const auto reader = Bw64Reader::BuildFromStream(kImportanceThreshold, ss);
-  ASSERT_TRUE(reader.ok());
+  ASSERT_THAT(reader, IsOk());
 
-  EXPECT_TRUE(
-      SpliceWavFilesFromAdm(::testing::TempDir(), "prefix", *reader, ss).ok());
+  EXPECT_THAT(
+      SpliceWavFilesFromAdm(::testing::TempDir(), "prefix", *reader, ss),
+      IsOk());
 
   ValidateFileContents(
       std::filesystem::path(::testing::TempDir()) / "prefix_converted1.wav",
diff --git a/iamf/cli/adm_to_user_metadata/adm/tests/xml_to_adm_test.cc b/iamf/cli/adm_to_user_metadata/adm/tests/xml_to_adm_test.cc
index 6abf19e..3de42ca 100644
--- a/iamf/cli/adm_to_user_metadata/adm/tests/xml_to_adm_test.cc
+++ b/iamf/cli/adm_to_user_metadata/adm/tests/xml_to_adm_test.cc
@@ -14,6 +14,7 @@
 
 #include <string>
 
+#include "absl/status/status_matchers.h"
 #include "absl/strings/string_view.h"
 #include "gmock/gmock.h"
 #include "gtest/gtest.h"
@@ -22,6 +23,8 @@
 namespace adm_to_user_metadata {
 namespace {
 
+using ::absl_testing::IsOk;
+
 using testing::ElementsAreArray;
 
 constexpr absl::string_view kAudioPackFormatIdMono = "AP_00010001";
@@ -43,7 +46,7 @@
         </audioProgramme>
   )xml",
       kImportanceThreshold);
-  ASSERT_TRUE(adm.ok());
+  ASSERT_THAT(adm, IsOk());
 
   ASSERT_FALSE(adm->audio_programmes.empty());
   const auto& audio_programme = adm->audio_programmes[0];
@@ -64,7 +67,7 @@
     </audioContent>
   )xml",
                                  kImportanceThreshold);
-  ASSERT_TRUE(adm.ok());
+  ASSERT_THAT(adm, IsOk());
 
   ASSERT_FALSE(adm->audio_contents.empty());
   const auto& audio_content = adm->audio_contents[0];
@@ -85,7 +88,7 @@
   </audioObject>
   )xml",
                                  kImportanceThreshold);
-  ASSERT_TRUE(adm.ok());
+  ASSERT_THAT(adm, IsOk());
 
   ASSERT_FALSE(adm->audio_objects.empty());
   const auto& audio_object = adm->audio_objects[0];
@@ -129,7 +132,7 @@
   </TopLevelElement>
   )xml",
                                  kImportanceThreshold);
-  ASSERT_TRUE(adm.ok());
+  ASSERT_THAT(adm, IsOk());
 
   EXPECT_EQ(adm->audio_objects.size(), 7);
 }
@@ -149,7 +152,7 @@
   </TopLevelElement>
   )xml",
                                  kImportanceThreshold);
-  ASSERT_TRUE(adm.ok());
+  ASSERT_THAT(adm, IsOk());
 
   EXPECT_EQ(adm->audio_objects.size(), 3);
 }
@@ -161,7 +164,7 @@
   </audioObject>
   )xml",
                                  kImportanceThreshold);
-  ASSERT_TRUE(adm.ok());
+  ASSERT_THAT(adm, IsOk());
 
   EXPECT_EQ(adm->audio_objects.size(), 1);
 }
@@ -187,7 +190,7 @@
   </TopLevelElement>
   )xml",
                                  kImportanceThreshold);
-  ASSERT_TRUE(adm.ok());
+  ASSERT_THAT(adm, IsOk());
 
   EXPECT_EQ(adm->audio_objects.size(), 1);
   EXPECT_EQ(adm->audio_objects[0].id, "Mono");
@@ -198,7 +201,7 @@
   <audioObject></audioObject>
   )xml",
                                  kImportanceThreshold);
-  ASSERT_TRUE(adm.ok());
+  ASSERT_THAT(adm, IsOk());
 
   EXPECT_EQ(adm->audio_objects[0].importance, 10);
 }
@@ -215,19 +218,19 @@
 
   const auto adm_with_all_objects_below_threshold =
       ParseXmlToAdm(xml, /*importance_threshold=*/10);
-  ASSERT_TRUE(adm_with_all_objects_below_threshold.ok());
+  ASSERT_THAT(adm_with_all_objects_below_threshold, IsOk());
   EXPECT_EQ(adm_with_all_objects_below_threshold->audio_objects.size(), 0);
 
   // One object is at or above the threshold.
   const auto adm_with_one_object_at_or_above_threshold =
       ParseXmlToAdm(xml, /*importance_threshold=*/9);
-  ASSERT_TRUE(adm_with_one_object_at_or_above_threshold.ok());
+  ASSERT_THAT(adm_with_one_object_at_or_above_threshold, IsOk());
   EXPECT_EQ(adm_with_one_object_at_or_above_threshold->audio_objects.size(), 1);
 
   // Three objects are at or above the threshold.
   const auto adm_with_three_objects_at_or_above_threshold =
       ParseXmlToAdm(xml, /*importance_threshold=*/3);
-  ASSERT_TRUE(adm_with_three_objects_at_or_above_threshold.ok());
+  ASSERT_THAT(adm_with_three_objects_at_or_above_threshold, IsOk());
   EXPECT_EQ(adm_with_three_objects_at_or_above_threshold->audio_objects.size(),
             3);
 }
@@ -259,7 +262,7 @@
         </audioProgramme>
   )xml",
       kImportanceThreshold);
-  ASSERT_TRUE(adm.ok());
+  ASSERT_THAT(adm, IsOk());
   ASSERT_FALSE(adm->audio_programmes.empty());
 
   const auto& loudness_metadata = adm->audio_programmes[0].loudness_metadata;
@@ -286,7 +289,7 @@
         </audioProgramme>
   )xml",
       kImportanceThreshold);
-  ASSERT_TRUE(adm.ok());
+  ASSERT_THAT(adm, IsOk());
   ASSERT_FALSE(adm->audio_programmes.empty());
 
   // The IAMF bitstream always needs `integrated_loudness`. The parser will
diff --git a/iamf/cli/adm_to_user_metadata/app/tests/BUILD b/iamf/cli/adm_to_user_metadata/app/tests/BUILD
index 97dd79b..93d5789 100644
--- a/iamf/cli/adm_to_user_metadata/app/tests/BUILD
+++ b/iamf/cli/adm_to_user_metadata/app/tests/BUILD
@@ -8,7 +8,7 @@
         "//iamf/cli/proto:audio_frame_cc_proto",
         "//iamf/cli/proto:test_vector_metadata_cc_proto",
         "//iamf/cli/proto:user_metadata_cc_proto",
-        "@com_google_absl//absl/base:no_destructor",
+        "@com_google_absl//absl/status:status_matchers",
         "@com_google_absl//absl/strings:string_view",
         "@com_google_googletest//:gtest_main",
     ],
diff --git a/iamf/cli/adm_to_user_metadata/app/tests/adm_to_user_metadata_main_lib_test.cc b/iamf/cli/adm_to_user_metadata/app/tests/adm_to_user_metadata_main_lib_test.cc
index c8052f0..5d22221 100644
--- a/iamf/cli/adm_to_user_metadata/app/tests/adm_to_user_metadata_main_lib_test.cc
+++ b/iamf/cli/adm_to_user_metadata/app/tests/adm_to_user_metadata_main_lib_test.cc
@@ -17,8 +17,9 @@
 #include <sstream>
 #include <string>
 
-#include "absl/base/no_destructor.h"
+#include "absl/status/status_matchers.h"
 #include "absl/strings/string_view.h"
+#include "gmock/gmock.h"
 #include "gtest/gtest.h"
 #include "iamf/cli/proto/audio_frame.pb.h"
 #include "iamf/cli/proto/test_vector_metadata.pb.h"
@@ -28,6 +29,8 @@
 namespace adm_to_user_metadata {
 namespace {
 
+using ::absl_testing::IsOk;
+
 constexpr int32_t kImportanceThreshold = 10;
 constexpr int32_t kMaxFrameDurationMs = 10;
 constexpr absl::string_view kFilePrefix = "file_prefix";
@@ -103,7 +106,7 @@
       kFilePrefix, kMaxFrameDurationMs, kImportanceThreshold,
       ::testing::TempDir(), ss);
 
-  EXPECT_TRUE(user_metadata.ok()) << user_metadata.status();
+  EXPECT_THAT(user_metadata, IsOk());
 
   return *user_metadata;
 }
diff --git a/iamf/cli/adm_to_user_metadata/iamf/tests/BUILD b/iamf/cli/adm_to_user_metadata/iamf/tests/BUILD
index 922255e..d92df4b 100644
--- a/iamf/cli/adm_to_user_metadata/iamf/tests/BUILD
+++ b/iamf/cli/adm_to_user_metadata/iamf/tests/BUILD
@@ -5,6 +5,7 @@
         "//iamf/cli/adm_to_user_metadata/iamf:audio_element_handler",
         "//iamf/cli/adm_to_user_metadata/iamf:iamf_input_layout",
         "//iamf/cli/proto:audio_element_cc_proto",
+        "@com_google_absl//absl/status:status_matchers",
         "@com_google_googletest//:gtest_main",
     ],
 )
@@ -16,6 +17,7 @@
         "//iamf/cli/adm_to_user_metadata/iamf:audio_frame_handler",
         "//iamf/cli/adm_to_user_metadata/iamf:iamf_input_layout",
         "//iamf/cli/proto:audio_frame_cc_proto",
+        "@com_google_absl//absl/status:status_matchers",
         "@com_google_absl//absl/strings:string_view",
         "@com_google_googletest//:gtest_main",
     ],
@@ -51,7 +53,7 @@
         "//iamf/cli/adm_to_user_metadata/iamf",
         "//iamf/cli/adm_to_user_metadata/iamf:iamf_input_layout",
         "@com_google_absl//absl/base:no_destructor",
-        "@com_google_absl//absl/strings",
+        "@com_google_absl//absl/status:status_matchers",
         "@com_google_absl//absl/strings:string_view",
         "@com_google_googletest//:gtest_main",
     ],
@@ -62,6 +64,7 @@
     srcs = ["iamf_input_layout_test.cc"],
     deps = [
         "//iamf/cli/adm_to_user_metadata/iamf:iamf_input_layout",
+        "@com_google_absl//absl/status:status_matchers",
         "@com_google_absl//absl/strings:string_view",
         "@com_google_googletest//:gtest_main",
     ],
@@ -76,6 +79,7 @@
         "//iamf/cli/proto:mix_presentation_cc_proto",
         "//iamf/cli/proto:param_definitions_cc_proto",
         "@com_google_absl//absl/base:no_destructor",
+        "@com_google_absl//absl/status:status_matchers",
         "@com_google_absl//absl/strings:string_view",
         "@com_google_googletest//:gtest_main",
     ],
@@ -104,7 +108,7 @@
         "//iamf/cli/proto:test_vector_metadata_cc_proto",
         "//iamf/cli/proto:user_metadata_cc_proto",
         "@com_google_absl//absl/base:no_destructor",
-        "@com_google_absl//absl/log",
+        "@com_google_absl//absl/status:status_matchers",
         "@com_google_absl//absl/strings",
         "@com_google_absl//absl/strings:string_view",
         "@com_google_googletest//:gtest_main",
diff --git a/iamf/cli/adm_to_user_metadata/iamf/tests/audio_element_handler_test.cc b/iamf/cli/adm_to_user_metadata/iamf/tests/audio_element_handler_test.cc
index 05172f6..85b3394 100644
--- a/iamf/cli/adm_to_user_metadata/iamf/tests/audio_element_handler_test.cc
+++ b/iamf/cli/adm_to_user_metadata/iamf/tests/audio_element_handler_test.cc
@@ -14,6 +14,8 @@
 
 #include <cstdint>
 
+#include "absl/status/status_matchers.h"
+#include "gmock/gmock.h"
 #include "gtest/gtest.h"
 #include "iamf/cli/adm_to_user_metadata/iamf/iamf_input_layout.h"
 #include "iamf/cli/proto/audio_element.pb.h"
@@ -22,17 +24,18 @@
 namespace adm_to_user_metadata {
 namespace {
 
+using ::absl_testing::IsOk;
+
 const int32_t kAudioElementId = 999;
 
 TEST(PopulateAudioElementMetadata, SetsAudioElementId) {
   iamf_tools_cli_proto::AudioElementObuMetadata audio_element_metadata;
   AudioElementHandler audio_element_handler;
 
-  EXPECT_TRUE(audio_element_handler
-                  .PopulateAudioElementMetadata(kAudioElementId,
-                                                IamfInputLayout::kStereo,
-                                                audio_element_metadata)
-                  .ok());
+  EXPECT_THAT(
+      audio_element_handler.PopulateAudioElementMetadata(
+          kAudioElementId, IamfInputLayout::kStereo, audio_element_metadata),
+      IsOk());
 
   EXPECT_EQ(audio_element_metadata.audio_element_id(), kAudioElementId);
 }
@@ -41,11 +44,10 @@
   iamf_tools_cli_proto::AudioElementObuMetadata audio_element_metadata;
   AudioElementHandler audio_element_handler;
 
-  EXPECT_TRUE(audio_element_handler
-                  .PopulateAudioElementMetadata(kAudioElementId,
-                                                IamfInputLayout::kStereo,
-                                                audio_element_metadata)
-                  .ok());
+  EXPECT_THAT(
+      audio_element_handler.PopulateAudioElementMetadata(
+          kAudioElementId, IamfInputLayout::kStereo, audio_element_metadata),
+      IsOk());
 
   EXPECT_EQ(audio_element_metadata.num_substreams(), 1);
   EXPECT_EQ(audio_element_metadata.audio_substream_ids().size(), 1);
@@ -71,11 +73,10 @@
   iamf_tools_cli_proto::AudioElementObuMetadata audio_element_metadata;
   AudioElementHandler audio_element_handler;
 
-  EXPECT_TRUE(audio_element_handler
-                  .PopulateAudioElementMetadata(kAudioElementId,
-                                                IamfInputLayout::kBinaural,
-                                                audio_element_metadata)
-                  .ok());
+  EXPECT_THAT(
+      audio_element_handler.PopulateAudioElementMetadata(
+          kAudioElementId, IamfInputLayout::kBinaural, audio_element_metadata),
+      IsOk());
   ASSERT_TRUE(audio_element_metadata.has_scalable_channel_layout_config());
 
   EXPECT_EQ(audio_element_metadata.scalable_channel_layout_config()
@@ -88,11 +89,10 @@
   iamf_tools_cli_proto::AudioElementObuMetadata audio_element_metadata;
   AudioElementHandler audio_element_handler;
 
-  EXPECT_TRUE(audio_element_handler
-                  .PopulateAudioElementMetadata(
-                      kAudioElementId, IamfInputLayout::kAmbisonicsOrder1,
-                      audio_element_metadata)
-                  .ok());
+  EXPECT_THAT(audio_element_handler.PopulateAudioElementMetadata(
+                  kAudioElementId, IamfInputLayout::kAmbisonicsOrder1,
+                  audio_element_metadata),
+              IsOk());
 
   EXPECT_EQ(audio_element_metadata.num_substreams(), 4);
   EXPECT_EQ(audio_element_metadata.audio_substream_ids().size(), 4);
@@ -120,16 +120,14 @@
   iamf_tools_cli_proto::AudioElementObuMetadata first_audio_element_metadata;
   iamf_tools_cli_proto::AudioElementObuMetadata second_audio_element_metadata;
   AudioElementHandler audio_element_handler;
-  EXPECT_TRUE(audio_element_handler
-                  .PopulateAudioElementMetadata(kAudioElementId,
-                                                IamfInputLayout::kStereo,
-                                                first_audio_element_metadata)
-                  .ok());
-  EXPECT_TRUE(audio_element_handler
-                  .PopulateAudioElementMetadata(kAudioElementId + 1,
-                                                IamfInputLayout::kStereo,
-                                                second_audio_element_metadata)
-                  .ok());
+  EXPECT_THAT(audio_element_handler.PopulateAudioElementMetadata(
+                  kAudioElementId, IamfInputLayout::kStereo,
+                  first_audio_element_metadata),
+              IsOk());
+  EXPECT_THAT(audio_element_handler.PopulateAudioElementMetadata(
+                  kAudioElementId + 1, IamfInputLayout::kStereo,
+                  second_audio_element_metadata),
+              IsOk());
 
   EXPECT_EQ(first_audio_element_metadata.audio_substream_ids(0), 0);
   EXPECT_EQ(second_audio_element_metadata.audio_substream_ids(0), 1);
diff --git a/iamf/cli/adm_to_user_metadata/iamf/tests/audio_frame_handler_test.cc b/iamf/cli/adm_to_user_metadata/iamf/tests/audio_frame_handler_test.cc
index 843e8bd..41793f2 100644
--- a/iamf/cli/adm_to_user_metadata/iamf/tests/audio_frame_handler_test.cc
+++ b/iamf/cli/adm_to_user_metadata/iamf/tests/audio_frame_handler_test.cc
@@ -14,6 +14,7 @@
 
 #include <cstdint>
 
+#include "absl/status/status_matchers.h"
 #include "absl/strings/string_view.h"
 #include "gmock/gmock.h"
 #include "gtest/gtest.h"
@@ -24,6 +25,8 @@
 namespace adm_to_user_metadata {
 namespace {
 
+using ::absl_testing::IsOk;
+
 using testing::ElementsAreArray;
 
 constexpr absl::string_view kFileNamePrefix = "prefix";
@@ -38,11 +41,10 @@
                                               kNumSamplesToTrimAtEnd);
 
   iamf_tools_cli_proto::AudioFrameObuMetadata audio_element_metadata;
-  EXPECT_TRUE(audio_frame_handler
-                  .PopulateAudioFrameMetadata(kFileNameSuffix, audio_element_id,
-                                              input_layout,
-                                              audio_element_metadata)
-                  .ok());
+  EXPECT_THAT(audio_frame_handler.PopulateAudioFrameMetadata(
+                  kFileNameSuffix, audio_element_id, input_layout,
+                  audio_element_metadata),
+              IsOk());
   return audio_element_metadata;
 }
 
diff --git a/iamf/cli/adm_to_user_metadata/iamf/tests/ia_sequence_header_obu_metadata_handler_test.cc b/iamf/cli/adm_to_user_metadata/iamf/tests/ia_sequence_header_obu_metadata_handler_test.cc
index 10e890c..490d5fb 100644
--- a/iamf/cli/adm_to_user_metadata/iamf/tests/ia_sequence_header_obu_metadata_handler_test.cc
+++ b/iamf/cli/adm_to_user_metadata/iamf/tests/ia_sequence_header_obu_metadata_handler_test.cc
@@ -20,7 +20,7 @@
 namespace adm_to_user_metadata {
 namespace {
 
-const auto kBaseProfileVersion = iamf_tools_cli_proto::PROFILE_VERSION_BASE;
+constexpr auto kBaseProfileVersion = iamf_tools_cli_proto::PROFILE_VERSION_BASE;
 
 TEST(GenerateBaseProfileIaSequenceHeaderObuMetadata, GeneratesBaseProfile) {
   iamf_tools_cli_proto::IASequenceHeaderObuMetadata
diff --git a/iamf/cli/adm_to_user_metadata/iamf/tests/iamf_input_layout_test.cc b/iamf/cli/adm_to_user_metadata/iamf/tests/iamf_input_layout_test.cc
index d8984ac..e278b08 100644
--- a/iamf/cli/adm_to_user_metadata/iamf/tests/iamf_input_layout_test.cc
+++ b/iamf/cli/adm_to_user_metadata/iamf/tests/iamf_input_layout_test.cc
@@ -11,13 +11,17 @@
  */
 #include "iamf/cli/adm_to_user_metadata/iamf/iamf_input_layout.h"
 
+#include "absl/status/status_matchers.h"
 #include "absl/strings/string_view.h"
+#include "gmock/gmock.h"
 #include "gtest/gtest.h"
 
 namespace iamf_tools {
 namespace adm_to_user_metadata {
 namespace {
 
+using ::absl_testing::IsOk;
+
 TEST(LookupInputLayoutFromAudioPackFormatId, UnknownAudioPackFormatId) {
   EXPECT_FALSE(LookupInputLayoutFromAudioPackFormatId("").ok());
   EXPECT_FALSE(LookupInputLayoutFromAudioPackFormatId("AP_00020001").ok());
@@ -38,7 +42,7 @@
 
   const auto layout = LookupInputLayoutFromAudioPackFormatId(
       test_case.test_audio_pack_format_id);
-  ASSERT_TRUE(layout.ok());
+  ASSERT_THAT(layout, IsOk());
   EXPECT_EQ(*layout, test_case.expected_layout);
 }
 
@@ -49,7 +53,7 @@
                              {"AP_00010017", IamfInputLayout::k7_1_4},
                          }));
 
-INSTANTIATE_TEST_SUITE_P(Binaraul, SupportedAudioPackFormatId,
+INSTANTIATE_TEST_SUITE_P(Binaural, SupportedAudioPackFormatId,
                          testing::ValuesIn<SupportedAudioPackFormatIdTestCase>(
                              {{"AP_00050001", IamfInputLayout::kBinaural}}));
 
diff --git a/iamf/cli/adm_to_user_metadata/iamf/tests/iamf_test.cc b/iamf/cli/adm_to_user_metadata/iamf/tests/iamf_test.cc
index c5e58f7..2f7201f 100644
--- a/iamf/cli/adm_to_user_metadata/iamf/tests/iamf_test.cc
+++ b/iamf/cli/adm_to_user_metadata/iamf/tests/iamf_test.cc
@@ -13,14 +13,14 @@
 #include "iamf/cli/adm_to_user_metadata/iamf/iamf.h"
 
 #include <cstdint>
-#include <filesystem>
 #include <map>
 #include <string>
 #include <vector>
 
 #include "absl/base/no_destructor.h"
-#include "absl/strings/str_cat.h"
+#include "absl/status/status_matchers.h"
 #include "absl/strings/string_view.h"
+#include "gmock/gmock.h"
 #include "gtest/gtest.h"
 #include "iamf/cli/adm_to_user_metadata/adm/adm_elements.h"
 #include "iamf/cli/adm_to_user_metadata/iamf/iamf_input_layout.h"
@@ -29,9 +29,11 @@
 namespace adm_to_user_metadata {
 namespace {
 
-const int32_t kFrameDurationMs = 10;
-const int64_t kTotalSamplesPerChannel = 100;
-const uint32_t kSamplesPerSec = 48000;
+using ::absl_testing::IsOk;
+
+constexpr int32_t kFrameDurationMs = 10;
+constexpr int64_t kTotalSamplesPerChannel = 100;
+constexpr uint32_t kSamplesPerSec = 48000;
 
 constexpr absl::string_view kStereoAudioPackFormatId = "AP_00010002";
 constexpr absl::string_view kStereoAudioObjectId = "Stereo Audio Object";
@@ -127,10 +129,10 @@
 }
 
 TEST(Create, WithNoAudioObjectsSucceeds) {
-  EXPECT_TRUE(IAMF::Create(/*file_name=*/"",
+  EXPECT_THAT(IAMF::Create(/*file_name=*/"",
                            /*adm=*/{}, kFrameDurationMs,
-                           kTotalSamplesPerChannel, kSamplesPerSec)
-                  .ok());
+                           kTotalSamplesPerChannel, kSamplesPerSec),
+              IsOk());
 }
 
 TEST(Create, WithObjectBasedAudioObjectFails) {
@@ -147,7 +149,7 @@
   const auto iamf =
       IAMF::Create(kExpectedFileNamePrefix, /*adm=*/{}, kFrameDurationMs,
                    kTotalSamplesPerChannel, kSamplesPerSec);
-  ASSERT_TRUE(iamf.ok());
+  ASSERT_THAT(iamf, IsOk());
 
   EXPECT_EQ(iamf->audio_frame_handler_.file_prefix_, kExpectedFileNamePrefix);
 }
@@ -156,7 +158,7 @@
   const auto iamf =
       IAMF::Create("", GetAdmWithStereoAndToaObjectsWithoutAudioProgramme(),
                    kFrameDurationMs, kTotalSamplesPerChannel, kSamplesPerSec);
-  ASSERT_TRUE(iamf.ok());
+  ASSERT_THAT(iamf, IsOk());
 
   const std::vector<IamfInputLayout> kExpectedInputLayouts = {
       IamfInputLayout::kStereo, IamfInputLayout::kAmbisonicsOrder3};
@@ -171,7 +173,7 @@
   const auto iamf =
       IAMF::Create("", GetAdmWithStereoAndToaObjectsWithoutAudioProgramme(),
                    kFrameDurationMs, kTotalSamplesPerChannel, kSamplesPerSec);
-  ASSERT_TRUE(iamf.ok());
+  ASSERT_THAT(iamf, IsOk());
 
   EXPECT_TRUE(iamf->audio_object_to_audio_element_.empty());
   EXPECT_TRUE(iamf->mix_presentation_id_to_audio_objects_and_metadata_.empty());
@@ -181,7 +183,7 @@
   const auto iamf =
       IAMF::Create("", GetAdmWithStereoAndToaObjectsAndTwoAudioProgrammes(),
                    kFrameDurationMs, kTotalSamplesPerChannel, kSamplesPerSec);
-  ASSERT_TRUE(iamf.ok());
+  ASSERT_THAT(iamf, IsOk());
 
   EXPECT_EQ(iamf->audio_object_to_audio_element_.size(), 2);
   EXPECT_EQ(iamf->audio_object_to_audio_element_.at(
@@ -201,7 +203,7 @@
   const auto iamf =
       IAMF::Create("", GetAdmWithStereoAndToaObjectsAndTwoAudioProgrammes(),
                    kFrameDurationMs, kTotalSamplesPerChannel, kSamplesPerSec);
-  ASSERT_TRUE(iamf.ok());
+  ASSERT_THAT(iamf, IsOk());
 
   EXPECT_EQ(iamf->mix_presentation_id_to_audio_objects_and_metadata_.size(), 2);
   const auto& first_mix_presentation_data =
@@ -239,7 +241,7 @@
   adm.audio_objects.push_back(GetStereoAudioObject(kSecondStereoObjectId));
   const auto iamf = IAMF::Create("", adm, kFrameDurationMs,
                                  kTotalSamplesPerChannel, kSamplesPerSec);
-  ASSERT_TRUE(iamf.ok());
+  ASSERT_THAT(iamf, IsOk());
 
   EXPECT_EQ(iamf->mix_presentation_id_to_audio_objects_and_metadata_.size(), 2);
 }
@@ -248,7 +250,7 @@
   const auto iamf =
       IAMF::Create("", GetAdmWithComplementaryGroups(), kFrameDurationMs,
                    kTotalSamplesPerChannel, kSamplesPerSec);
-  ASSERT_TRUE(iamf.ok());
+  ASSERT_THAT(iamf, IsOk());
 
   EXPECT_EQ(iamf->audio_object_to_audio_element_.size(), 2);
 
diff --git a/iamf/cli/adm_to_user_metadata/iamf/tests/mix_presentation_handler_test.cc b/iamf/cli/adm_to_user_metadata/iamf/tests/mix_presentation_handler_test.cc
index 0aa8a11..ea903d1 100644
--- a/iamf/cli/adm_to_user_metadata/iamf/tests/mix_presentation_handler_test.cc
+++ b/iamf/cli/adm_to_user_metadata/iamf/tests/mix_presentation_handler_test.cc
@@ -18,6 +18,7 @@
 #include <vector>
 
 #include "absl/base/no_destructor.h"
+#include "absl/status/status_matchers.h"
 #include "absl/strings/string_view.h"
 #include "gmock/gmock.h"
 #include "gtest/gtest.h"
@@ -29,6 +30,8 @@
 namespace adm_to_user_metadata {
 namespace {
 
+using ::absl_testing::IsOk;
+
 constexpr uint32_t kCommonParameterRate = 48000;
 constexpr uint32_t kMixPresentationId = 99;
 
@@ -81,11 +84,10 @@
                                  audio_object_id_to_audio_element_id);
 
   iamf_tools_cli_proto::MixPresentationObuMetadata mix_presentation_metadata;
-  EXPECT_TRUE(handler
-                  .PopulateMixPresentation(kMixPresentationId, audio_objects,
-                                           loudness_metadata,
-                                           mix_presentation_metadata)
-                  .ok());
+  EXPECT_THAT(handler.PopulateMixPresentation(kMixPresentationId, audio_objects,
+                                              loudness_metadata,
+                                              mix_presentation_metadata),
+              IsOk());
 
   return mix_presentation_metadata;
 }
diff --git a/iamf/cli/adm_to_user_metadata/iamf/tests/user_metadata_generator_test.cc b/iamf/cli/adm_to_user_metadata/iamf/tests/user_metadata_generator_test.cc
index d16fbbe..b3c44c5 100644
--- a/iamf/cli/adm_to_user_metadata/iamf/tests/user_metadata_generator_test.cc
+++ b/iamf/cli/adm_to_user_metadata/iamf/tests/user_metadata_generator_test.cc
@@ -17,9 +17,10 @@
 #include <string_view>
 
 #include "absl/base/no_destructor.h"
-#include "absl/log/log.h"
+#include "absl/status/status_matchers.h"
 #include "absl/strings/str_cat.h"
 #include "absl/strings/string_view.h"
+#include "gmock/gmock.h"
 #include "gtest/gtest.h"
 #include "iamf/cli/adm_to_user_metadata/adm/adm_elements.h"
 #include "iamf/cli/adm_to_user_metadata/adm/format_info_chunk.h"
@@ -32,6 +33,8 @@
 namespace adm_to_user_metadata {
 namespace {
 
+using ::absl_testing::IsOk;
+
 constexpr absl::string_view kStereoAudioObjectId = "Stereo Audio Object";
 const AudioObject& GetStereoAudioObject() {
   constexpr absl::string_view kStereoAudioPackFormatId = "AP_00010001";
@@ -120,9 +123,9 @@
   const auto kExpectedTextprotoPath =
       kPath / absl::StrCat(kFileNamePrefix, ".textproto");
 
-  EXPECT_TRUE(UserMetadataGenerator::WriteUserMetadataToFile(
-                  /*write_binary_proto=*/false, kPath, user_metadata)
-                  .ok());
+  EXPECT_THAT(UserMetadataGenerator::WriteUserMetadataToFile(
+                  /*write_binary_proto=*/false, kPath, user_metadata),
+              IsOk());
   EXPECT_TRUE(std::filesystem::exists(kExpectedTextprotoPath));
 }
 
@@ -135,9 +138,9 @@
   const auto kExpectedBinaryProtoPath =
       kPath / absl::StrCat(kFileNamePrefix, ".binpb");
 
-  EXPECT_TRUE(UserMetadataGenerator::WriteUserMetadataToFile(
-                  /*write_binary_proto=*/true, kPath, user_metadata)
-                  .ok());
+  EXPECT_THAT(UserMetadataGenerator::WriteUserMetadataToFile(
+                  /*write_binary_proto=*/true, kPath, user_metadata),
+              IsOk());
   EXPECT_TRUE(std::filesystem::exists(kExpectedBinaryProtoPath));
 }
 
@@ -148,7 +151,7 @@
 
   const auto user_metadata =
       user_metadata_generator.GenerateUserMetadata(input_file_prefix);
-  EXPECT_TRUE(user_metadata.ok()) << user_metadata.status();
+  EXPECT_THAT(user_metadata, IsOk()) << user_metadata.status();
   return *user_metadata;
 }