// Copyright (c) 2013 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_control_list.h" #include "testing/gtest/include/gtest/gtest.h" namespace gpu { class MachineModelInfoTest : public testing::Test { public: MachineModelInfoTest() { } virtual ~MachineModelInfoTest() { } typedef GpuControlList::MachineModelInfo MachineModelInfo; }; TEST_F(MachineModelInfoTest, ValidModelInfo) { const std::string name_op[] = { "contains", "beginwith", "endwith", "=" }; const std::string version_op[] = { "=", "<", "<=", ">", ">=", "any", "between" }; for (size_t i = 0; i < arraysize(name_op); ++i) { for (size_t j = 0; j < arraysize(version_op); ++j) { std::string version1; std::string version2; if (version_op[j] != "any") version1 = "3.14"; if (version_op[j] == "between") version2 = "5.4"; MachineModelInfo info(name_op[i], "model", version_op[j], version1, version2); EXPECT_TRUE(info.IsValid()); } } } TEST_F(MachineModelInfoTest, ModelComparison) { MachineModelInfo info("=", "model_a", ">", "3.4", std::string()); EXPECT_TRUE(info.Contains("model_a", "4")); EXPECT_FALSE(info.Contains("model_b", "4")); EXPECT_FALSE(info.Contains("model_a", "3.2")); } } // namespace gpu