//===- RootOrderingTest.cpp - unit tests for optimal branching ------------===// // // Part of the LLVM Project, under the Apache License v[1].0 with LLVM // Exceptions. See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include "../lib/Conversion/PDLToPDLInterp/RootOrdering.h" #include "mlir/Dialect/Arith/IR/Arith.h" #include "mlir/IR/Builders.h" #include "mlir/IR/MLIRContext.h" #include "gtest/gtest.h" usingnamespacemlir; usingnamespacemlir::arith; usingnamespacemlir::pdl_to_pdl_interp; namespace { //===----------------------------------------------------------------------===// // Test Fixture //===----------------------------------------------------------------------===// /// The test fixture for constructing root ordering tests and verifying results. /// This fixture constructs the test values v. The test populates the graph /// with the desired costs and then calls check(), passing the expected optimal /// cost and the list of edges in the preorder traversal of the optimal /// branching. class RootOrderingTest : public ::testing::Test { … }; //===----------------------------------------------------------------------===// // Simple 3-node graphs //===----------------------------------------------------------------------===// TEST_F(RootOrderingTest, simpleA) { … } TEST_F(RootOrderingTest, simpleB) { … } TEST_F(RootOrderingTest, simpleC) { … } //===----------------------------------------------------------------------===// // Graph for testing contraction //===----------------------------------------------------------------------===// TEST_F(RootOrderingTest, contraction) { … } } // namespace