Skip to content

Commit

Permalink
WIP: console package tests (palette)
Browse files Browse the repository at this point in the history
53% code coverage.
  • Loading branch information
ivan-marquez committed Sep 9, 2019
1 parent 44f9ba7 commit cb55f19
Showing 1 changed file with 71 additions and 4 deletions.
75 changes: 71 additions & 4 deletions console/palette_test.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
package console

import "testing"
import (
"testing"

ui "github.com/gizak/termui/v3"
)

func TestGetPalette(t *testing.T) {
var (
Expand All @@ -17,16 +21,79 @@ func TestGetPalette(t *testing.T) {
tests := []struct {
name string
input Theme
want Palette
Palette
}{
{"should return dark theme with base color white", ThemeDark, darkPalette},
{"should return light theme with base color black", ThemeLight, lightPalette},
}

for _, test := range tests {
palette := GetPalette(test.input)
if got := palette.BaseColor; got != test.want.BaseColor {
t.Errorf("GetPalette(%q) = %d, want %d", test.input, got, test.want.BaseColor)
if got := palette.BaseColor; got != test.BaseColor {
t.Errorf("GetPalette(%q) = %d, want %d", test.input, got, test.BaseColor)
}
}
}

func TestGetPaletteInvalidTheme(t *testing.T) {
const invalid Theme = "invalid"

defer func() {
if r := recover(); r == nil {
t.Errorf("GetPalette(%q) should have panicked", invalid)
}
}()

GetPalette(invalid)
}

func TestGetGradientColor(t *testing.T) {
type args struct {
gradient []ui.Color
cur int
max int
}

var (
lightThemeGradientInput = args{
gradient: []ui.Color{
250, 248, 246, 244, 242, 240, 238, 236, 234, 232, 16,
},
cur: 200,
max: 250,
}

darkThemeGradientInput = args{
gradient: []ui.Color{
39, 33, 62, 93, 164, 161,
},
cur: 40,
max: 180,
}

grey ui.Color = 234

blue ui.Color = 33
)

tests := []struct {
name string
args
want ui.Color
}{
{"should return color grey", lightThemeGradientInput, grey},
{"should return color blue", darkThemeGradientInput, blue},
}

for _, test := range tests {
gradientColor := GetGradientColor(
test.gradient,
test.cur,
test.max,
)

if got := gradientColor; got != test.want {
t.Errorf("GetGradientColor(%v) = %d, want %d", test.args, got, test.want)
}
}
}

0 comments on commit cb55f19

Please sign in to comment.