c-md/tests/map/test_map_io.c
2026-01-12 10:18:47 +01:00

78 lines
1.5 KiB
C

#include <criterion/criterion.h>
#include <stdio.h>
#include "map.h"
/*
** TESTS: map/io.c - Writing to file
*/
Test(map_io, write_to_file)
{
t_map map;
FILE *f;
char buffer[256];
const char *path = "/tmp/test_c_md_map.map";
map_init(&map);
map_add(&map, 2, 8, 1, 7);
map_add(&map, 15, 22, 9, 16);
cr_assert_eq(map_write(&map, path, "main.c.md", "main.c"), 0);
f = fopen(path, "r");
cr_assert_not_null(f);
fgets(buffer, sizeof(buffer), f);
cr_assert_str_eq(buffer, "C-MD MAP v1\n");
fgets(buffer, sizeof(buffer), f);
cr_assert_str_eq(buffer, "source: main.c.md\n");
fgets(buffer, sizeof(buffer), f);
cr_assert_str_eq(buffer, "target: main.c\n");
fgets(buffer, sizeof(buffer), f);
cr_assert_str_eq(buffer, "---\n");
fgets(buffer, sizeof(buffer), f);
cr_assert_str_eq(buffer, "2-8:1-7\n");
fgets(buffer, sizeof(buffer), f);
cr_assert_str_eq(buffer, "15-22:9-16\n");
fclose(f);
remove(path);
map_free(&map);
}
Test(map_io, write_empty_map)
{
t_map map;
FILE *f;
char buffer[256];
const char *path = "/tmp/test_c_md_empty_map.map";
map_init(&map);
cr_assert_eq(map_write(&map, path, "test.c.md", "test.c"), 0);
f = fopen(path, "r");
cr_assert_not_null(f);
fgets(buffer, sizeof(buffer), f);
cr_assert_str_eq(buffer, "C-MD MAP v1\n");
fgets(buffer, sizeof(buffer), f);
cr_assert_str_eq(buffer, "source: test.c.md\n");
fgets(buffer, sizeof(buffer), f);
cr_assert_str_eq(buffer, "target: test.c\n");
fgets(buffer, sizeof(buffer), f);
cr_assert_str_eq(buffer, "---\n");
fclose(f);
remove(path);
map_free(&map);
}