123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- #include "utils/includes.h"
- #include "utils/bitfield.h"
- int main(int argc, char *argv[])
- {
- struct bitfield *bf;
- int i;
- int errors = 0;
- bf = bitfield_alloc(123);
- if (bf == NULL)
- return -1;
- for (i = 0; i < 123; i++) {
- if (bitfield_is_set(bf, i) || bitfield_is_set(bf, i + 1))
- errors++;
- if (i > 0 && bitfield_is_set(bf, i - 1))
- errors++;
- bitfield_set(bf, i);
- if (!bitfield_is_set(bf, i))
- errors++;
- bitfield_clear(bf, i);
- if (bitfield_is_set(bf, i))
- errors++;
- }
- for (i = 123; i < 200; i++) {
- if (bitfield_is_set(bf, i) || bitfield_is_set(bf, i + 1))
- errors++;
- if (i > 0 && bitfield_is_set(bf, i - 1))
- errors++;
- bitfield_set(bf, i);
- if (bitfield_is_set(bf, i))
- errors++;
- bitfield_clear(bf, i);
- if (bitfield_is_set(bf, i))
- errors++;
- }
- for (i = 0; i < 123; i++) {
- if (bitfield_is_set(bf, i) || bitfield_is_set(bf, i + 1))
- errors++;
- bitfield_set(bf, i);
- if (!bitfield_is_set(bf, i))
- errors++;
- }
- for (i = 0; i < 123; i++) {
- if (!bitfield_is_set(bf, i))
- errors++;
- bitfield_clear(bf, i);
- if (bitfield_is_set(bf, i))
- errors++;
- }
- for (i = 0; i < 123; i++) {
- if (bitfield_get_first_zero(bf) != i)
- errors++;
- bitfield_set(bf, i);
- }
- if (bitfield_get_first_zero(bf) != -1)
- errors++;
- for (i = 0; i < 123; i++) {
- if (!bitfield_is_set(bf, i))
- errors++;
- bitfield_clear(bf, i);
- if (bitfield_get_first_zero(bf) != i)
- errors++;
- bitfield_set(bf, i);
- }
- if (bitfield_get_first_zero(bf) != -1)
- errors++;
- bitfield_free(bf);
- if (errors) {
- printf("%d test(s) failed\n", errors);
- return -1;
- }
- return 0;
- }
|