54 lines
1.2 KiB
Go
54 lines
1.2 KiB
Go
package pb
|
|
|
|
import (
|
|
"bytes"
|
|
"testing"
|
|
)
|
|
|
|
func TestProgressBarTemplate(t *testing.T) {
|
|
// test New
|
|
bar := ProgressBarTemplate(`{{counters . }}`).New(0)
|
|
result := bar.String()
|
|
expected := "0"
|
|
if result != expected {
|
|
t.Errorf("Unexpected result: (actual/expected)\n%s\n%s", result, expected)
|
|
}
|
|
if bar.IsStarted() {
|
|
t.Error("Must be false")
|
|
}
|
|
|
|
// test Start
|
|
bar = ProgressBarTemplate(`{{counters . }}`).Start(42).SetWriter(bytes.NewBuffer(nil))
|
|
result = bar.String()
|
|
expected = "0 / 42"
|
|
if result != expected {
|
|
t.Errorf("Unexpected result: (actual/expected)\n%s\n%s", result, expected)
|
|
}
|
|
if !bar.IsStarted() {
|
|
t.Error("Must be true")
|
|
}
|
|
}
|
|
|
|
func TestTemplateFuncs(t *testing.T) {
|
|
var results = make(map[string]int)
|
|
for i := 0; i < 100; i++ {
|
|
r := rndcolor("s")
|
|
results[r] = results[r] + 1
|
|
}
|
|
if len(results) < 6 {
|
|
t.Errorf("Unexpected rndcolor results count: %v", len(results))
|
|
}
|
|
|
|
results = make(map[string]int)
|
|
for i := 0; i < 100; i++ {
|
|
r := rnd("1", "2", "3")
|
|
results[r] = results[r] + 1
|
|
}
|
|
if len(results) != 3 {
|
|
t.Errorf("Unexpected rnd results count: %v", len(results))
|
|
}
|
|
if r := rnd(); r != "" {
|
|
t.Errorf("Unexpected rnd result: '%v'", r)
|
|
}
|
|
}
|