package image_table import ( "image/png" "log" "os" "testing" ) func TestDrawTable(t *testing.T) { header := []string{"Имя", "Возраст", "Город"} rows := []any{ []string{"Алиса", "23", "Москва"}, []string{"Боб", "31", "Казань"}, struct { Name string Age int City string }{"Елена", 27, "Минск"}, []string{"Олег", "44", "Сочи"}, } img := DrawTableWarm(header, rows) file, err := os.Create("./test-data/warm_table.png") if err != nil { log.Fatal("не могу создать файл:", err) } defer file.Close() if err := png.Encode(file, img); err != nil { log.Fatal("ошибка сохранения PNG:", err) } log.Println("Готово! Файл warm_table.png создан.") } func TestDocument(t *testing.T) { doc := Document{ Blocks: []TableBlock{ { Title: "Пользователи", Header: []string{"ID", "Name", "Age"}, Rows: []any{ []any{1, "Иван", 30}, []any{2, "Пётр", 25}, }, }, { Title: "Статистика", Header: []string{"Метрика", "Значение"}, Rows: []any{ []any{"Requests", 12000}, []any{"Errors", 37}, }, }, }, } img := RenderDocument(doc) file, err := os.Create("./test-data/document.png") if err != nil { log.Fatal("не могу создать файл:", err) } defer file.Close() if err := png.Encode(file, img); err != nil { log.Fatal("ошибка сохранения PNG:", err) } }