Remove ProgramBuilder from constant tests.

The constant tests where built based off the ProgramBuilder, but the
only part they used was to get the constant::Manager. Just create the
manager directly in the tests to simplify the testing setup.

Change-Id: Ifc74c5970b120a19162a1a3d53c7c7257909220f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/234394
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
diff --git a/src/tint/lang/core/constant/BUILD.bazel b/src/tint/lang/core/constant/BUILD.bazel
index fca438a..395e8a1 100644
--- a/src/tint/lang/core/constant/BUILD.bazel
+++ b/src/tint/lang/core/constant/BUILD.bazel
@@ -92,7 +92,6 @@
     "eval_runtime_semantics_test.cc",
     "eval_test.h",
     "eval_unary_op_test.cc",
-    "helper_test.h",
     "invalid_test.cc",
     "manager_test.cc",
     "scalar_test.cc",
diff --git a/src/tint/lang/core/constant/BUILD.cmake b/src/tint/lang/core/constant/BUILD.cmake
index 2e8ceca..bdea081 100644
--- a/src/tint/lang/core/constant/BUILD.cmake
+++ b/src/tint/lang/core/constant/BUILD.cmake
@@ -93,7 +93,6 @@
   lang/core/constant/eval_runtime_semantics_test.cc
   lang/core/constant/eval_test.h
   lang/core/constant/eval_unary_op_test.cc
-  lang/core/constant/helper_test.h
   lang/core/constant/invalid_test.cc
   lang/core/constant/manager_test.cc
   lang/core/constant/scalar_test.cc
diff --git a/src/tint/lang/core/constant/BUILD.gn b/src/tint/lang/core/constant/BUILD.gn
index f6a8a1f..95ae3b0 100644
--- a/src/tint/lang/core/constant/BUILD.gn
+++ b/src/tint/lang/core/constant/BUILD.gn
@@ -93,7 +93,6 @@
       "eval_runtime_semantics_test.cc",
       "eval_test.h",
       "eval_unary_op_test.cc",
-      "helper_test.h",
       "invalid_test.cc",
       "manager_test.cc",
       "scalar_test.cc",
diff --git a/src/tint/lang/core/constant/composite_test.cc b/src/tint/lang/core/constant/composite_test.cc
index f03f323..33cc3c9 100644
--- a/src/tint/lang/core/constant/composite_test.cc
+++ b/src/tint/lang/core/constant/composite_test.cc
@@ -27,9 +27,11 @@
 
 #include "src/tint/lang/core/constant/composite.h"
 
-#include "src/tint/lang/core/constant/helper_test.h"
+#include "gtest/gtest.h"
 #include "src/tint/lang/core/constant/scalar.h"
 #include "src/tint/lang/core/fluent_types.h"
+#include "src/tint/lang/core/type/f32.h"
+#include "src/tint/lang/core/type/vector.h"
 
 using namespace tint::core::number_suffixes;  // NOLINT
 using namespace tint::core::fluent_types;     // NOLINT
@@ -37,10 +39,11 @@
 namespace tint::core::constant {
 namespace {
 
-using ConstantTest_Composite = TestHelper;
+using ConstantTest_Composite = testing::Test;
 
 TEST_F(ConstantTest_Composite, AllZero) {
-    auto* vec3f = create<core::type::Vector>(create<core::type::F32>(), 3u);
+    Manager constants;
+    auto* vec3f = constants.types.vec(constants.types.f32(), 3u);
 
     auto* fPos0 = constants.Get(0_f);
     auto* fNeg0 = constants.Get(-0_f);
@@ -59,7 +62,8 @@
 }
 
 TEST_F(ConstantTest_Composite, AnyZero) {
-    auto* vec3f = create<core::type::Vector>(create<core::type::F32>(), 3u);
+    Manager constants;
+    auto* vec3f = constants.types.vec(constants.types.f32(), 3u);
 
     auto* fPos0 = constants.Get(0_f);
     auto* fNeg0 = constants.Get(-0_f);
@@ -78,7 +82,8 @@
 }
 
 TEST_F(ConstantTest_Composite, Index) {
-    auto* vec2f = create<core::type::Vector>(create<core::type::F32>(), 2u);
+    Manager constants;
+    auto* vec2f = constants.types.vec(constants.types.f32(), 2u);
 
     auto* fPos0 = constants.Get(0_f);
     auto* fPos1 = constants.Get(1_f);
@@ -96,7 +101,8 @@
 }
 
 TEST_F(ConstantTest_Composite, Clone) {
-    auto* vec2f = create<core::type::Vector>(create<core::type::F32>(), 2u);
+    Manager constants;
+    auto* vec2f = constants.types.vec(constants.types.f32(), 2u);
 
     auto* fPos0 = constants.Get(0_f);
     auto* fPos1 = constants.Get(1_f);
diff --git a/src/tint/lang/core/constant/helper_test.h b/src/tint/lang/core/constant/helper_test.h
deleted file mode 100644
index 40873d6..0000000
--- a/src/tint/lang/core/constant/helper_test.h
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2023 The Dawn & Tint Authors
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice, this
-//    list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright notice,
-//    this list of conditions and the following disclaimer in the documentation
-//    and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the copyright holder nor the names of its
-//    contributors may be used to endorse or promote products derived from
-//    this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-#ifndef SRC_TINT_LANG_CORE_CONSTANT_HELPER_TEST_H_
-#define SRC_TINT_LANG_CORE_CONSTANT_HELPER_TEST_H_
-
-#include "gtest/gtest.h"
-#include "src/tint/lang/wgsl/program/program_builder.h"
-
-namespace tint::core::constant {
-
-/// Helper base class for testing
-template <typename BASE>
-class TestHelperBase : public BASE, public ProgramBuilder {};
-
-/// Helper class for testing that derives from testing::Test.
-using TestHelper = TestHelperBase<testing::Test>;
-
-/// Helper class for testing that derives from `T`.
-template <typename T>
-using TestParamHelper = TestHelperBase<testing::TestWithParam<T>>;
-
-}  // namespace tint::core::constant
-
-#endif  // SRC_TINT_LANG_CORE_CONSTANT_HELPER_TEST_H_
diff --git a/src/tint/lang/core/constant/invalid_test.cc b/src/tint/lang/core/constant/invalid_test.cc
index b4f29f2..b3886c6 100644
--- a/src/tint/lang/core/constant/invalid_test.cc
+++ b/src/tint/lang/core/constant/invalid_test.cc
@@ -27,7 +27,7 @@
 
 #include "src/tint/lang/core/constant/invalid.h"
 
-#include "src/tint/lang/core/constant/helper_test.h"
+#include "gtest/gtest.h"
 #include "src/tint/lang/core/constant/scalar.h"
 #include "src/tint/lang/core/fluent_types.h"
 #include "src/tint/lang/core/type/clone_context.h"
@@ -38,19 +38,22 @@
 namespace tint::core::constant {
 namespace {
 
-using ConstantTest_Invalid = TestHelper;
+using ConstantTest_Invalid = testing::Test;
 
 TEST_F(ConstantTest_Invalid, AllZero) {
+    Manager constants;
     auto* invalid = constants.Invalid();
     EXPECT_FALSE(invalid->AllZero());
 }
 
 TEST_F(ConstantTest_Invalid, AnyZero) {
+    Manager constants;
     auto* invalid = constants.Invalid();
     EXPECT_FALSE(invalid->AnyZero());
 }
 
 TEST_F(ConstantTest_Invalid, Index) {
+    Manager constants;
     auto* invalid = constants.Invalid();
     EXPECT_EQ(invalid->Index(0), nullptr);
     EXPECT_EQ(invalid->Index(1), nullptr);
@@ -58,6 +61,7 @@
 }
 
 TEST_F(ConstantTest_Invalid, Clone) {
+    Manager constants;
     auto* invalid = constants.Invalid();
 
     constant::Manager mgr;
diff --git a/src/tint/lang/core/constant/scalar_test.cc b/src/tint/lang/core/constant/scalar_test.cc
index 581c94f..da0eb3a 100644
--- a/src/tint/lang/core/constant/scalar_test.cc
+++ b/src/tint/lang/core/constant/scalar_test.cc
@@ -27,16 +27,18 @@
 
 #include "src/tint/lang/core/constant/scalar.h"
 
-#include "src/tint/lang/core/constant/helper_test.h"
+#include "gtest/gtest.h"
+#include "src/tint/lang/core/type/i32.h"
 
 namespace tint::core::constant {
 namespace {
 
 using namespace tint::core::number_suffixes;  // NOLINT
 
-using ConstantTest_Scalar = TestHelper;
+using ConstantTest_Scalar = testing::Test;
 
 TEST_F(ConstantTest_Scalar, AllZero) {
+    Manager constants;
     auto* i0 = constants.Get(0_i);
     auto* iPos1 = constants.Get(1_i);
     auto* iNeg1 = constants.Get(-1_i);
@@ -97,6 +99,7 @@
 }
 
 TEST_F(ConstantTest_Scalar, AnyZero) {
+    Manager constants;
     auto* i0 = constants.Get(0_i);
     auto* iPos1 = constants.Get(1_i);
     auto* iNeg1 = constants.Get(-1_i);
@@ -157,6 +160,7 @@
 }
 
 TEST_F(ConstantTest_Scalar, ValueOf) {
+    Manager constants;
     auto* i1 = constants.Get(1_i);
     auto* u1 = constants.Get(1_u);
     auto* f1 = constants.Get(1_f);
@@ -177,10 +181,11 @@
 }
 
 TEST_F(ConstantTest_Scalar, Clone) {
+    Manager constants;
     auto* val = constants.Get(12_i);
 
-    constant::Manager mgr;
-    constant::CloneContext ctx{core::type::CloneContext{{nullptr}, {nullptr, &mgr.types}}, mgr};
+    Manager mgr;
+    CloneContext ctx{core::type::CloneContext{{nullptr}, {nullptr, &mgr.types}}, mgr};
 
     auto* r = val->Clone(ctx);
     ASSERT_NE(r, nullptr);
diff --git a/src/tint/lang/core/constant/splat_test.cc b/src/tint/lang/core/constant/splat_test.cc
index 10c67f2..6a6a3d3 100644
--- a/src/tint/lang/core/constant/splat_test.cc
+++ b/src/tint/lang/core/constant/splat_test.cc
@@ -27,9 +27,12 @@
 
 #include "src/tint/lang/core/constant/splat.h"
 
-#include "src/tint/lang/core/constant/helper_test.h"
+#include "gtest/gtest.h"
 #include "src/tint/lang/core/constant/scalar.h"
 #include "src/tint/lang/core/fluent_types.h"
+#include "src/tint/lang/core/type/f32.h"
+#include "src/tint/lang/core/type/i32.h"
+#include "src/tint/lang/core/type/vector.h"
 
 using namespace tint::core::number_suffixes;  // NOLINT
 using namespace tint::core::fluent_types;     // NOLINT
@@ -37,10 +40,11 @@
 namespace tint::core::constant {
 namespace {
 
-using ConstantTest_Splat = TestHelper;
+using ConstantTest_Splat = testing::Test;
 
 TEST_F(ConstantTest_Splat, AllZero) {
-    auto* vec3f = create<core::type::Vector>(create<core::type::F32>(), 3u);
+    Manager constants;
+    auto* vec3f = constants.types.vec(constants.types.f32(), 3u);
 
     auto* fPos0 = constants.Get(0_f);
     auto* fNeg0 = constants.Get(-0_f);
@@ -56,7 +60,8 @@
 }
 
 TEST_F(ConstantTest_Splat, AnyZero) {
-    auto* vec3f = create<core::type::Vector>(create<core::type::F32>(), 3u);
+    Manager constants;
+    auto* vec3f = constants.types.vec(constants.types.f32(), 3u);
 
     auto* fPos0 = constants.Get(0_f);
     auto* fNeg0 = constants.Get(-0_f);
@@ -72,7 +77,8 @@
 }
 
 TEST_F(ConstantTest_Splat, Index) {
-    auto* vec3f = create<core::type::Vector>(create<core::type::F32>(), 3u);
+    Manager constants;
+    auto* vec3f = constants.types.vec(constants.types.f32(), 3u);
 
     auto* f1 = constants.Get(1_f);
     auto* sp = constants.Splat(vec3f, f1);
@@ -88,7 +94,8 @@
 }
 
 TEST_F(ConstantTest_Splat, Clone) {
-    auto* vec2i = create<core::type::Vector>(create<core::type::I32>(), 2u);
+    Manager constants;
+    auto* vec2i = constants.types.vec(constants.types.i32(), 2u);
     auto* val = constants.Get(12_i);
     auto* sp = constants.Splat(vec2i, val);
 
diff --git a/src/tint/lang/core/constant/value_test.cc b/src/tint/lang/core/constant/value_test.cc
index 6bb31fd..e93fc8a 100644
--- a/src/tint/lang/core/constant/value_test.cc
+++ b/src/tint/lang/core/constant/value_test.cc
@@ -27,17 +27,20 @@
 
 #include "src/tint/lang/core/constant/splat.h"
 
-#include "src/tint/lang/core/constant/helper_test.h"
+#include "gtest/gtest.h"
 #include "src/tint/lang/core/constant/scalar.h"
+#include "src/tint/lang/core/type/f32.h"
+#include "src/tint/lang/core/type/vector.h"
 
 namespace tint::core::constant {
 namespace {
 
 using namespace tint::core::number_suffixes;  // NOLINT
 
-using ConstantTest_Value = TestHelper;
+using ConstantTest_Value = testing::Test;
 
 TEST_F(ConstantTest_Value, Equal_Scalar_Scalar) {
+    Manager constants;
     EXPECT_TRUE(constants.Get(10_i)->Equal(constants.Get(10_i)));
     EXPECT_FALSE(constants.Get(10_i)->Equal(constants.Get(20_i)));
     EXPECT_FALSE(constants.Get(20_i)->Equal(constants.Get(10_i)));
@@ -52,7 +55,8 @@
 }
 
 TEST_F(ConstantTest_Value, Equal_Splat_Splat) {
-    auto* vec3f = create<core::type::Vector>(create<core::type::F32>(), 3u);
+    Manager constants;
+    auto* vec3f = constants.types.vec(constants.types.f32(), 3u);
 
     auto* vec3f_1_1_1 = constants.Splat(vec3f, constants.Get(1_f));
     auto* vec3f_2_2_2 = constants.Splat(vec3f, constants.Get(2_f));
@@ -63,7 +67,8 @@
 }
 
 TEST_F(ConstantTest_Value, Equal_Composite_Composite) {
-    auto* vec3f = create<core::type::Vector>(create<core::type::F32>(), 3u);
+    Manager constants;
+    auto* vec3f = constants.types.vec(constants.types.f32(), 3u);
 
     auto* vec3f_1_1_2 = constants.Composite(
         vec3f, Vector{constants.Get(1_f), constants.Get(1_f), constants.Get(2_f)});
@@ -76,7 +81,8 @@
 }
 
 TEST_F(ConstantTest_Value, Equal_Splat_Composite) {
-    auto* vec3f = create<core::type::Vector>(create<core::type::F32>(), 3u);
+    Manager constants;
+    auto* vec3f = constants.types.vec(constants.types.f32(), 3u);
 
     auto* vec3f_1_1_1 = constants.Splat(vec3f, constants.Get(1_f));
     auto* vec3f_1_2_1 = constants.Composite(