diff --git a/sequence/linear_test.go b/sequence/linear_test.go index d3c7e21..ef1243e 100644 --- a/sequence/linear_test.go +++ b/sequence/linear_test.go @@ -22,3 +22,7 @@ func TestValueWithStep(t *testing.T) { assert.Equal(100, values[20]) assert.Len(values, 21) } + +func TestValuesLen(t *testing.T) { + assert := assert.New(t) +} diff --git a/sequence/sequence.go b/sequence/sequence.go index 4565af4..5234d56 100644 --- a/sequence/sequence.go +++ b/sequence/sequence.go @@ -23,6 +23,11 @@ type Seq struct { // Array enumerates the sequence into a slice. func (s Seq) Array() (output []float64) { + if s.Len() == 0 { + return + } + + println(s.Len()) output = make([]float64, s.Len()) for i := 0; i < s.Len(); i++ { output[i] = s.GetValue(i) @@ -236,7 +241,7 @@ func (s Seq) Percentile(percent float64) (percentile float64) { return percentile } -// Normalize maps every value to the interval [0, 1.0). +// Normalize maps every value to the interval [0, 1.0]. func (s Seq) Normalize() Seq { min, max := s.MinMax() diff --git a/sequence/sequence_test.go b/sequence/sequence_test.go index 2b4c81b..e9927b4 100644 --- a/sequence/sequence_test.go +++ b/sequence/sequence_test.go @@ -90,5 +90,6 @@ func TestSequenceNormalize(t *testing.T) { assert.NotEmpty(normalized) assert.Len(normalized, 5) assert.Equal(0, normalized[0]) + assert.Equal(0.25, normalized[1]) assert.Equal(1, normalized[4]) }