diff options
| author | J08nY | 2017-09-12 20:15:18 +0200 |
|---|---|---|
| committer | J08nY | 2017-09-12 20:15:18 +0200 |
| commit | cceec4063e74bb29c79500f38aa40fc466180a0b (patch) | |
| tree | c082b39d2859d17138edcbd74b6a4a5205c7c7ea /test/src/util/test_bits.c | |
| parent | 40672ceceeaeb6def572117c30d612f54a73fb1d (diff) | |
| download | ecgen-cceec4063e74bb29c79500f38aa40fc466180a0b.tar.gz ecgen-cceec4063e74bb29c79500f38aa40fc466180a0b.tar.zst ecgen-cceec4063e74bb29c79500f38aa40fc466180a0b.zip | |
Diffstat (limited to 'test/src/util/test_bits.c')
| -rw-r--r-- | test/src/util/test_bits.c | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/test/src/util/test_bits.c b/test/src/util/test_bits.c index 7b5a896..1a408b1 100644 --- a/test/src/util/test_bits.c +++ b/test/src/util/test_bits.c @@ -296,6 +296,87 @@ Test(bits, test_bits_shiftr) { bits_free(&shift); } +Test(bits, test_bits_shiftiz) { + bits_t *bits = bits_new(8); + bits->bits[0] = 0b11001100; + + bits_shiftiz(bits, 2); + cr_assert_eq(bits->bitlen, 10,); + cr_assert_eq(bits->bits[0], 0b11001100,); + cr_assert_eq(bits->bits[1], 0b00000000,); + + bits_shiftiz(bits, -2); + cr_assert_eq(bits->bitlen, 8,); + cr_assert_eq(bits->bits[0], 0b11001100,); + bits_free(&bits); +} + +Test(bits, test_bits_shitfi) { + bits_t *bits = bits_new(8); + bits->bits[0] = 0b11001100; + + bits_t *shift = bits_shifti(bits, -4); + cr_assert_eq(shift->bitlen, 4,); + cr_assert_eq(shift->bits[0], 0b11000000,); + bits_free(&bits); + bits_free(&shift); +} + +Test(bits, test_bits_lengthenz) { + bits_t *bits = bits_new(8); + bits->bits[0] = 0b11001100; + + bits_lengthenz(bits, 4); + cr_assert_eq(bits->bitlen, 12,); + cr_assert_eq(bits->bits[0], 0b00001100,); + cr_assert_eq(bits->bits[1], 0b11000000,); + + bits_lengthenz(bits, -4); + cr_assert_eq(bits->bitlen, 16,); + cr_assert_eq(bits->bits[0], 0b00001100,); + cr_assert_eq(bits->bits[1], 0b11000000,); + + bits_free(&bits); +} + +Test(bits, test_bits_lengthen) { + bits_t *bits = bits_new(6); + bits->bits[0] = 0b11111100; + + bits_t *longer = bits_lengthen(bits, 2); + cr_assert_not_null(longer,); + cr_assert_eq(longer->bitlen, 8,); + cr_assert_eq(longer->bits[0], 0b00111111,); + bits_free(&bits); + bits_free(&longer); +} + +Test(bits, test_bits_shortenz) { + bits_t *bits = bits_new(6); + bits->bits[0] = 0b10110100; + + bits_shortenz(bits, 2); + cr_assert_eq(bits->bitlen, 4,); + cr_assert_eq(bits->bits[0], 0b11010000,); + + bits_shortenz(bits, -2); + cr_assert_eq(bits->bitlen, 2,); + cr_assert_eq(bits->bits[0], 0b11000000,); + bits_free(&bits); +} + +Test(bits, test_bits_shorten) { + bits_t *bits = bits_new(6); + bits->bits[0] = 0b10110100; + + bits_t *shorter = bits_shorten(bits, 4); + cr_assert_not_null(shorter,); + cr_assert_eq(shorter->bitlen, 2,); + cr_assert_eq(shorter->bits[0], 0b01000000,); + bits_free(&bits); + bits_free(&shorter); +} + Test(bits, test_bits_eq) { bits_t *bits = bits_new(6); bits->bits[0] = 0b10000000; |
