Skip to content

Commit

Permalink
Merge pull request #230 from BillKeenan/addBargraphTest
Browse files Browse the repository at this point in the history
Add bargraph test
  • Loading branch information
senorprogrammer committed Jun 28, 2018
2 parents 2def224 + d44a8db commit 5caff0c
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 7 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Expand Up @@ -9,4 +9,4 @@ before_install:
- export TRAVIS_BUILD_DIR=$HOME/gopath/src/github.com/senorprogrammer/wtf
- cd $HOME/gopath/src/github.com/senorprogrammer/wtf

script: go get ./... && go get github.com/go-test/deep && go test -v github.com/senorprogrammer/wtf/wtf_tests
script: go get ./... && go get github.com/go-test/deep && go test -v github.com/senorprogrammer/wtf/wtf_tests/...
4 changes: 2 additions & 2 deletions _sample_configs/bargraph_config.yml
Expand Up @@ -14,9 +14,9 @@ wtf:
graphIcon: "💀"
graphStars: 25
position:
top: 3
top: 2
left: 0
height: 1
height: 2
width: 2
refreshInterval: 30
updateInterval: 15
13 changes: 9 additions & 4 deletions wtf/bargraph.go
Expand Up @@ -103,6 +103,12 @@ func (widget *BarGraph) addView() {
// time should be passed as a int64
func (widget *BarGraph) BuildBars(data [][2]int64) {

widget.View.SetText(BuildStars(data, widget.maxStars, widget.starChar))

}

//BuildStars build the string to display
func BuildStars(data [][2]int64, maxStars int, starChar string) string {
var buffer bytes.Buffer

//counter to inintialize min value
Expand Down Expand Up @@ -138,7 +144,7 @@ func (widget *BarGraph) BuildBars(data [][2]int64) {
}

// each number = how many stars?
var starRatio = float64(widget.maxStars) / float64((maxValue - minValue))
var starRatio = float64(maxStars) / float64((maxValue - minValue))

//build the stars
for i := range data {
Expand All @@ -151,7 +157,7 @@ func (widget *BarGraph) BuildBars(data [][2]int64) {
starCount = 1
}
//build the actual string
var stars = strings.Repeat(widget.starChar, starCount)
var stars = strings.Repeat(starChar, starCount)

//parse the time
var t = time.Unix(int64(data[i][1]/1000), 0)
Expand All @@ -160,8 +166,7 @@ func (widget *BarGraph) BuildBars(data [][2]int64) {
buffer.WriteString(fmt.Sprintf("%s -\t [red]%s[white] - (%d)\n", t.Format("Jan 02, 2006"), stars, val))
}

widget.View.SetText(buffer.String())

return buffer.String()
}

/* -------------------- Exported Functions -------------------- */
33 changes: 33 additions & 0 deletions wtf_tests/bargraph/bargraph_test.go
@@ -0,0 +1,33 @@
package bargraphtests

import (
"testing"

. "github.com/senorprogrammer/wtf/wtf"
. "github.com/stretchr/testify/assert"
)

// MakeData - Create sample data
func makeData() [][2]int64 {

//this could come from config
const lineCount = 2
var stats [lineCount][2]int64

stats[0][1] = 1530122942
stats[0][0] = 100

stats[1][1] = 1530132942
stats[1][0] = 210

return stats[:]

}

//TestOutput of the bargraph make string (BuildStars) function
func TestOutput(t *testing.T) {

result := BuildStars(makeData(), 20, "*")

Equal(t, result, "Jan 18, 1970 -\t [red]*[white] - (100)\nJan 18, 1970 -\t [red]********************[white] - (210)\n")
}

0 comments on commit 5caff0c

Please sign in to comment.