package thumb import ( "testing" "github.com/stretchr/testify/assert" ) func TestParseQuality(t *testing.T) { t.Run("Worst", func(t *testing.T) { assert.Equal(t, QualityWorst, ParseQuality("worst")) }) t.Run("Lowest", func(t *testing.T) { assert.Equal(t, QualityWorst, ParseQuality("lowest")) }) t.Run("bad", func(t *testing.T) { assert.Equal(t, QualityBad, ParseQuality("bad")) }) t.Run("low", func(t *testing.T) { assert.Equal(t, QualityLow, ParseQuality("low")) }) t.Run("Empty", func(t *testing.T) { assert.Equal(t, QualityDefault, ParseQuality("")) assert.Equal(t, QualityDefault, ParseQuality(" ")) }) t.Run("Default", func(t *testing.T) { assert.Equal(t, QualityDefault, ParseQuality("default")) }) t.Run("Medium", func(t *testing.T) { assert.Equal(t, QualityDefault, ParseQuality("medium")) assert.Equal(t, QualityDefault, ParseQuality(" \t medium \n\r")) assert.Equal(t, QualityDefault, ParseQuality("MEDIUM")) }) t.Run("Good", func(t *testing.T) { assert.Equal(t, QualityHigh, ParseQuality("Good")) assert.Equal(t, QualityHigh, ParseQuality("GOOD")) }) t.Run("Best", func(t *testing.T) { assert.Equal(t, QualityBest, ParseQuality("Best")) }) t.Run("Ultra", func(t *testing.T) { assert.Equal(t, QualityBest, ParseQuality("ultra")) }) t.Run("0", func(t *testing.T) { assert.Equal(t, QualityWorst, ParseQuality("0")) }) t.Run("1", func(t *testing.T) { assert.Equal(t, QualityBad, ParseQuality("1")) }) t.Run("2", func(t *testing.T) { assert.Equal(t, QualityLow, ParseQuality("2")) }) t.Run("3", func(t *testing.T) { assert.Equal(t, QualityDefault, ParseQuality("3")) }) t.Run("4", func(t *testing.T) { assert.Equal(t, QualityHigh, ParseQuality("4")) }) t.Run("5", func(t *testing.T) { assert.Equal(t, QualityBest, ParseQuality("5")) }) t.Run("6", func(t *testing.T) { assert.Equal(t, QualityDefault, ParseQuality("6")) }) t.Run("50", func(t *testing.T) { assert.Equal(t, Quality(50), ParseQuality("50")) }) t.Run("66", func(t *testing.T) { assert.Equal(t, Quality(66), ParseQuality("66")) }) t.Run("77", func(t *testing.T) { assert.Equal(t, Quality(77), ParseQuality("77")) }) t.Run("89", func(t *testing.T) { assert.Equal(t, Quality(89), ParseQuality("89")) }) t.Run("90", func(t *testing.T) { assert.Equal(t, Quality(90), ParseQuality("90")) }) t.Run("100", func(t *testing.T) { assert.Equal(t, Quality(100), ParseQuality("100")) }) }