blob: 39c7dc19dd013cb1299effe78f2ee7ce34e8d9f9 [file] [log] [blame]
// Copyright 2022 The Fuchsia 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 <fidl/test.types/cpp/hlcpp_conversion.h>
#include <gtest/gtest.h>
TEST(BitsConversion, StrictBitsToNatural) {
test::types::StrictBits hlcpp = test::types::StrictBits::D | test::types::StrictBits::E;
auto natural = fidl::HLCPPToNatural(hlcpp);
static_assert(std::is_same_v<decltype(natural), test_types::StrictBits>);
EXPECT_EQ(natural, test_types::StrictBits::kD | test_types::StrictBits::kE);
}
TEST(BitsConversion, StrictBitsToHLCPP) {
test_types::StrictBits natural = test_types::StrictBits::kD | test_types::StrictBits::kE;
auto hlcpp = fidl::NaturalToHLCPP(natural);
static_assert(std::is_same_v<decltype(hlcpp), test::types::StrictBits>);
EXPECT_EQ(hlcpp, test::types::StrictBits::D | test::types::StrictBits::E);
}
TEST(BitsConversion, FlexibleBitsToNatural) {
test::types::FlexibleBits hlcpp = test::types::FlexibleBits::D | test::types::FlexibleBits::E;
auto natural = fidl::HLCPPToNatural(hlcpp);
static_assert(std::is_same_v<decltype(natural), test_types::FlexibleBits>);
EXPECT_EQ(natural, test_types::FlexibleBits::kD | test_types::FlexibleBits::kE);
}
TEST(BitsConversion, FlexibleBitsToHLCPP) {
test_types::FlexibleBits natural = test_types::FlexibleBits::kD | test_types::FlexibleBits::kE;
auto hlcpp = fidl::NaturalToHLCPP(natural);
static_assert(std::is_same_v<decltype(hlcpp), test::types::FlexibleBits>);
EXPECT_EQ(hlcpp, test::types::FlexibleBits::D | test::types::FlexibleBits::E);
}