This commit is contained in:
Vladimir V Maksimov
2025-12-11 23:08:34 +03:00
parent 8b86ef1e20
commit b13d113be6
7 changed files with 421 additions and 0 deletions

72
image_table_test.go Normal file
View File

@@ -0,0 +1,72 @@
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)
}
}