// Copyright 2016 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 #include namespace { static bool field_get_set_test(void) { BEGIN_TEST; uint64_t value(0); trace::Field<0, 0>::Set(value, uint8_t(1)); trace::Field<1, 1>::Set(value, uint8_t(1)); trace::Field<2, 2>::Set(value, uint8_t(1)); trace::Field<3, 3>::Set(value, uint8_t(1)); trace::Field<4, 4>::Set(value, uint8_t(1)); trace::Field<5, 5>::Set(value, uint8_t(1)); trace::Field<6, 6>::Set(value, uint8_t(1)); trace::Field<7, 7>::Set(value, uint8_t(1)); EXPECT_EQ(uint8_t(-1), value); value = 0; trace::Field<0, 2>::Set(value, uint8_t(7)); EXPECT_EQ(uint8_t(7), value); trace::Field<0, 2>::Set(value, uint8_t(0)); EXPECT_EQ(uint8_t(0), value); END_TEST; } } // namespace BEGIN_TEST_CASE(types) RUN_TEST(field_get_set_test) END_TEST_CASE(types)