package ttsnorm

import "testing"

func TestSpeakable(t *testing.T) {
	cases := []struct{ in, want string }{
		{"напомню 10.07.2026", "напомню 10 июля 2026"},
		{"срок 01.01", "срок 1 января"},
		{"встреча в 14:00", "встреча в 14 часов 00 минут"},
		{"в 9:05 подъём", "в 9 часов 05 минут подъём"},
		{"это 3.2.1 версия", "это 3 точка 2 точка 1 версия"},
		{"без чисел", "без чисел"},
	}
	for _, c := range cases {
		if got := Speakable(c.in); got != c.want {
			t.Errorf("Speakable(%q) = %q, want %q", c.in, got, c.want)
		}
		if got := Speakable(Speakable(c.in)); got != Speakable(c.in) {
			t.Errorf("not idempotent for %q: %q", c.in, got)
		}
	}
}
