#include #include #include #include "map.h" /* ** TESTS: map/core.c - Initialization */ Test(map_core, init) { t_map map; map_init(&map); cr_assert_null(map.ranges); cr_assert_eq(map.count, 0); cr_assert_eq(map.capacity, 0); } /* ** TESTS: map/core.c - Adding ranges */ Test(map_core, add_single_range) { t_map map; map_init(&map); map_add(&map, 10, 20, 5, 15); cr_assert_not_null(map.ranges); cr_assert_eq(map.count, 1); cr_assert_geq(map.capacity, 1); cr_assert_eq(map.ranges[0].src_start, 10); cr_assert_eq(map.ranges[0].src_end, 20); cr_assert_eq(map.ranges[0].dst_start, 5); cr_assert_eq(map.ranges[0].dst_end, 15); map_free(&map); } Test(map_core, add_multiple_ranges) { t_map map; map_init(&map); map_add(&map, 1, 5, 1, 5); map_add(&map, 10, 15, 7, 12); map_add(&map, 20, 25, 14, 19); cr_assert_eq(map.count, 3); cr_assert_geq(map.capacity, 3); cr_assert_eq(map.ranges[0].src_start, 1); cr_assert_eq(map.ranges[1].src_start, 10); cr_assert_eq(map.ranges[2].src_start, 20); map_free(&map); } /* ** TESTS: map/core.c - Dynamic growth */ Test(map_core, capacity_growth) { t_map map; size_t i; map_init(&map); for (i = 0; i < 100; i++) { map_add(&map, i, i + 10, i, i + 10); } cr_assert_eq(map.count, 100); cr_assert_geq(map.capacity, 100); for (i = 0; i < 100; i++) { cr_assert_eq(map.ranges[i].src_start, i); cr_assert_eq(map.ranges[i].src_end, i + 10); } map_free(&map); } /* ** TESTS: map/core.c - Memory management */ Test(map_core, free_after_init) { t_map map; map_init(&map); map_free(&map); cr_assert_null(map.ranges); cr_assert_eq(map.count, 0); cr_assert_eq(map.capacity, 0); } Test(map_core, free_after_add) { t_map map; map_init(&map); map_add(&map, 1, 10, 1, 10); map_free(&map); cr_assert_null(map.ranges); cr_assert_eq(map.count, 0); cr_assert_eq(map.capacity, 0); }