github.com/Oyster-zx/tendermint@v0.34.24-fork/libs/progressbar/progressbar_test.go (about) 1 package progressbar 2 3 import ( 4 "testing" 5 "time" 6 7 "github.com/stretchr/testify/require" 8 ) 9 10 func TestProgressBar(t *testing.T) { 11 zero := int64(0) 12 hundred := int64(100) 13 14 var bar Bar 15 bar.NewOption(zero, hundred) 16 17 require.Equal(t, zero, bar.start) 18 require.Equal(t, zero, bar.cur) 19 require.Equal(t, hundred, bar.total) 20 require.Equal(t, zero, bar.percent) 21 require.Equal(t, "█", bar.graph) 22 require.Equal(t, "", bar.rate) 23 24 defer bar.Finish() 25 for i := zero; i <= hundred; i++ { 26 time.Sleep(1 * time.Millisecond) 27 bar.Play(i) 28 } 29 30 require.Equal(t, zero, bar.start) 31 require.Equal(t, hundred, bar.cur) 32 require.Equal(t, hundred, bar.total) 33 require.Equal(t, hundred, bar.percent) 34 35 var rate string 36 for i := zero; i < hundred/2; i++ { 37 rate += "█" 38 } 39 40 require.Equal(t, rate, bar.rate) 41 }