test_tuple_permute.cppΒΆ

// Copyright 2017, 2019, 2022 by Mark Melton
//

#include <gtest/gtest.h>
#include "core/tuple/permute.h"
#include "core/mp/list.h"
#include "core/mp/constants.h"

using namespace core;

TEST(TuplePermute, Test0)
{
    using L1 = mp::list<mp_a,mp_b,mp_c>;
    using L2 = mp::list<mp_c,mp_b>;
    auto tup = std::make_tuple(1.0, 2.0, 3.0);
    auto r = tp::permute<L1,L2>(tup);
    EXPECT_EQ(r, std::make_tuple(3.0, 2.0));
}

int main(int argc, char *argv[])
{
    ::testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS();
}