blob: 2bfc79b617d71eac1cd93e814fd3bddaf17061b5 [file] [log] [blame]
Ben Clayton10d5c6a2020-11-13 21:58:28 +00001// Copyright 2020 The Tint Authors.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15#ifndef SRC_AST_TEST_HELPER_H_
16#define SRC_AST_TEST_HELPER_H_
17
18#include "gtest/gtest.h"
Ben Claytona6b9a8e2021-01-26 16:57:10 +000019#include "src/program_builder.h"
Ben Clayton10d5c6a2020-11-13 21:58:28 +000020
21namespace tint {
22namespace ast {
23
Ben Clayton962d46e2021-04-09 16:51:38 +000024/// Helper base class for testing
Ben Clayton10d5c6a2020-11-13 21:58:28 +000025template <typename BASE>
Ben Clayton708dc2d2021-01-29 11:22:40 +000026class TestHelperBase : public BASE, public ProgramBuilder {};
Ben Clayton962d46e2021-04-09 16:51:38 +000027
28/// Helper class for testing that derives from testing::Test.
Ben Clayton10d5c6a2020-11-13 21:58:28 +000029using TestHelper = TestHelperBase<testing::Test>;
30
Ben Clayton962d46e2021-04-09 16:51:38 +000031/// Helper class for testing that derives from `T`.
Ben Clayton10d5c6a2020-11-13 21:58:28 +000032template <typename T>
33using TestParamHelper = TestHelperBase<testing::TestWithParam<T>>;
34
35} // namespace ast
36} // namespace tint
37
38#endif // SRC_AST_TEST_HELPER_H_