123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- package door
- import (
- "testing"
- )
- func pctUpdate(pct *int64) func() int64 {
- return func() int64 {
- return *pct
- }
- }
- func TestBarHalfStep(t *testing.T) {
- // This is normally done by door init, but we're skipping that right now
- Unicode = true
- BOXES = BOXES_UNICODE
- BarColor := ColorText("BLUE")
- bar := BarLine{Line: Line{DefaultColor: BarColor}, Width: 10, Style: SOLID}
- BarSolid := map[int]string{0: BarColor + " ",
- 5: BarColor + " ",
- 10: BarColor + "\u2588 ",
- 20: BarColor + "\u2588\u2588 ",
- 25: BarColor + "\u2588\u2588 ",
- 50: BarColor + "\u2588\u2588\u2588\u2588\u2588 ",
- 75: BarColor + "\u2588\u2588\u2588\u2588\u2588\u2588\u2588 ",
- 100: BarColor + "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
- }
- for pct, text := range BarSolid {
- bar.Percent = int64(pct * 100)
- got := bar.Output()
- if got != text {
- t.Errorf("BarHalf: Expected %#v (%d%%), got %#v", text, pct, got)
- }
- }
- BarColor = ColorText("BLA ON WHI")
- bar = BarLine{Line: Line{DefaultColor: BarColor}, Width: 10, Style: HALF_STEP}
- BarHalf := map[int]string{0: BarColor + " ",
- 5: BarColor + "\u258c ",
- 6: BarColor + "\u258c ",
- 10: BarColor + "\u2588 ",
- 20: BarColor + "\u2588\u2588 ",
- 25: BarColor + "\u2588\u2588\u258c ",
- 26: BarColor + "\u2588\u2588\u258c ",
- 50: BarColor + "\u2588\u2588\u2588\u2588\u2588 ",
- 75: BarColor + "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258c ",
- 100: BarColor + "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
- }
- for pct, text := range BarHalf {
- bar.Percent = int64(pct * 100)
- got := bar.Output()
- if got != text {
- t.Errorf("BarHalf: Expected %#v (%d%%), got %#v", text, pct, got)
- }
- }
- BarColor = ColorText("RED")
- bar = BarLine{Line: Line{DefaultColor: BarColor}, Width: 10, Style: GRADIENT}
- BarGrad := map[int]string{0: BarColor + " ",
- 3: BarColor + "\u2591 ",
- 5: BarColor + "\u2592 ",
- 8: BarColor + "\u2593 ",
- 10: BarColor + "\u2588 ",
- 20: BarColor + "\u2588\u2588 ",
- 25: BarColor + "\u2588\u2588\u2592 ",
- 50: BarColor + "\u2588\u2588\u2588\u2588\u2588 ",
- 75: BarColor + "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2592 ",
- 100: BarColor + "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588",
- }
- var percent int64
- bar.UpdateP = pctUpdate(&percent)
- for pct, text := range BarGrad {
- percent = int64(pct * 100)
- got := bar.Output()
- if got != text {
- t.Errorf("BarGradient: Expected %#v (%d%%), got %#v", text, pct, got)
- }
- }
- }
|