5.2 Integration Test Example

/* tests/test_integration.c */
#include "d3tui.h"
#include "d3tui_test.h"

void test_terminal_render(void) {
    d3tui_terminal_t *term = d3tui_term_create(NULL);
    d3tui_render_ctx_t *ctx = d3tui_render_create(640, 480);

    d3tui_term_set_render_context(term, ctx);

    // Input some text
    d3tui_term_puts(term, "Hello, World!");

    // Render
    d3tui_term_render(term);

    // Verify rendering (this would need actual verification logic)
    // For now, just check it doesn't crash
    d3tui_assert_true(true, "Rendering completed");

    d3tui_render_destroy(ctx);
    d3tui_term_destroy(term);
}

void test_font_loading(void) {
    d3tui_font_t *font = d3tui_font_load("fonts/default.d3f");

    d3tui_assert_not_null(font, "Font loading failed");

    uint16_t cell_w, cell_h, line_h;
    d3tui_font_get_metrics(font, &cell_w, &cell_h, &line_h);

    d3tui_assert_true(cell_w > 0, "Invalid cell width");
    d3tui_assert_true(cell_h > 0, "Invalid cell height");

    d3tui_font_free(font);
}