// Copyright 2023 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "base/containers/to_value_list.h" #include <set> #include "base/containers/flat_set.h" #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" namespace base { namespace { // `Value` isn't copyable, so it's not possible to match against Value(x) // directly in `testing::ElementsAre`. This is why Value(x) is replaced with // IsInt(x). auto IsInt(int value) { … } template <class C> void IdentityTest() { … } template <class C> void ProjectionTest() { … } TEST(ToListTest, Identity) { … } TEST(ToListTest, Projection) { … } // Validates that consuming projections work as intended (every single `Value` // inside `Value::List` is a move-only type). TEST(ToListTest, MoveOnly) { … } } // namespace } // namespace base