| // 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 <trace-engine/fields.h> |
| |
| #include <unittest/unittest.h> |
| |
| 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) |