mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
72 lines
1.6 KiB
C++
72 lines
1.6 KiB
C++
// Copyright (c) 2011 The Chromium 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 "gpu/config/gpu_util.h"
|
|
#include "testing/gtest/include/gtest/gtest.h"
|
|
|
|
namespace gpu {
|
|
|
|
TEST(GpuUtilTest, MergeFeatureSets) {
|
|
{
|
|
// Merge two empty sets.
|
|
std::set<int> src;
|
|
std::set<int> dst;
|
|
EXPECT_TRUE(dst.empty());
|
|
MergeFeatureSets(&dst, src);
|
|
EXPECT_TRUE(dst.empty());
|
|
}
|
|
{
|
|
// Merge an empty set into a set with elements.
|
|
std::set<int> src;
|
|
std::set<int> dst;
|
|
dst.insert(1);
|
|
EXPECT_EQ(1u, dst.size());
|
|
MergeFeatureSets(&dst, src);
|
|
EXPECT_EQ(1u, dst.size());
|
|
}
|
|
{
|
|
// Merge two sets where the source elements are already in the target set.
|
|
std::set<int> src;
|
|
std::set<int> dst;
|
|
src.insert(1);
|
|
dst.insert(1);
|
|
EXPECT_EQ(1u, dst.size());
|
|
MergeFeatureSets(&dst, src);
|
|
EXPECT_EQ(1u, dst.size());
|
|
}
|
|
{
|
|
// Merge two sets with different elements.
|
|
std::set<int> src;
|
|
std::set<int> dst;
|
|
src.insert(1);
|
|
dst.insert(2);
|
|
EXPECT_EQ(1u, dst.size());
|
|
MergeFeatureSets(&dst, src);
|
|
EXPECT_EQ(2u, dst.size());
|
|
}
|
|
}
|
|
|
|
TEST(GpuUtilTest, StringToFeatureSet) {
|
|
{
|
|
// zero feature.
|
|
std::set<int> features;
|
|
StringToFeatureSet("", &features);
|
|
EXPECT_EQ(0u, features.size());
|
|
}
|
|
{
|
|
// One features.
|
|
std::set<int> features;
|
|
StringToFeatureSet("4", &features);
|
|
EXPECT_EQ(1u, features.size());
|
|
}
|
|
{
|
|
// Multiple features.
|
|
std::set<int> features;
|
|
StringToFeatureSet("1,9", &features);
|
|
EXPECT_EQ(2u, features.size());
|
|
}
|
|
}
|
|
|
|
} // namespace gpu
|