-
- data = 0;
- setBitField(&data, 0xf, 3, 4);
- result = getBitField(data, 3, 4, false);
- ck_assert_int_eq(result, 0xf);
-}
-END_TEST
-
-START_TEST (test_set_doesnt_clobber_existing_data)
-{
- uint64_t data = 0xFFFC4DF300000000;
- setBitField(&data, 0x4fc8, 16, 16);
- uint64_t result = getBitField(data, 16, 16, false);
- fail_unless(result == 0x4fc8,
- "Field retrieved in 0x%X was 0x%X instead of 0x%X", data, result,
- 0xc84f);
-
- data = 0x8000000000000000;
- setBitField(&data, 1, 21, 1);
- fail_unless(data == 0x8000040000000000LLU,
- "Expected combined value 0x8000040000000000 but got 0x%X%X",
- data >> 32, data);
-}
-END_TEST
-
-START_TEST (test_set_off_byte_boundary)
-{
- uint64_t data = 0xFFFC4DF300000000;
- setBitField(&data, 0x12, 12, 8);
- uint64_t result = getBitField(data, 12, 12, false);
- ck_assert_int_eq(result,0x12d);
-}
-END_TEST
-
-START_TEST (test_set_odd_number_of_bits)
-{
- uint64_t data = 0xFFFC4DF300000000LLU;
- setBitField(&data, 0x12, 11, 5);
- uint64_t result = getBitField(data, 11, 5, false);
- fail_unless(result == 0x12,
- "Field set in 0x%X%X%X%X was %d instead of %d", data, result,
- 0x12);
-
- data = 0xFFFC4DF300000000LLU;
- setBitField(&data, 0x2, 11, 5);
- result = getBitField(data, 11, 5, false);
- fail_unless(result == 0x2,
- "Field set in 0x%X%X%X%X was %d instead of %d", data, result,
- 0x2);
-}
-END_TEST
-
-START_TEST(test_nth_byte)
-{
- uint64_t data = 0x00000000F34DFCFF;
- uint8_t result = nthByte(data, 0);
- uint8_t expected = 0x0;
- ck_assert_int_eq(result, expected);
-
- result = nthByte(data, 4);
- expected = 0xF3;
- ck_assert_int_eq(result, expected);
-
- result = nthByte(data, 5);
- expected = 0x4D;
- ck_assert_int_eq(result, expected);
-
- result = nthByte(data, 6);
- expected = 0xFC;
- ck_assert_int_eq(result, expected);
-
- result = nthByte(data, 7);
- expected = 0xFF;
- ck_assert_int_eq(result, expected);