Adding upstream version 2.1.2.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
c8c64afc61
commit
41a2f19f12
220 changed files with 19814 additions and 0 deletions
192
value_buffer_test.go
Normal file
192
value_buffer_test.go
Normal file
|
@ -0,0 +1,192 @@
|
|||
package chart
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/wcharczuk/go-chart/v2/testutil"
|
||||
)
|
||||
|
||||
func TestBuffer(t *testing.T) {
|
||||
// replaced new assertions helper
|
||||
|
||||
buffer := NewValueBuffer()
|
||||
|
||||
buffer.Enqueue(1)
|
||||
testutil.AssertEqual(t, 1, buffer.Len())
|
||||
testutil.AssertEqual(t, 1, buffer.Peek())
|
||||
testutil.AssertEqual(t, 1, buffer.PeekBack())
|
||||
|
||||
buffer.Enqueue(2)
|
||||
testutil.AssertEqual(t, 2, buffer.Len())
|
||||
testutil.AssertEqual(t, 1, buffer.Peek())
|
||||
testutil.AssertEqual(t, 2, buffer.PeekBack())
|
||||
|
||||
buffer.Enqueue(3)
|
||||
testutil.AssertEqual(t, 3, buffer.Len())
|
||||
testutil.AssertEqual(t, 1, buffer.Peek())
|
||||
testutil.AssertEqual(t, 3, buffer.PeekBack())
|
||||
|
||||
buffer.Enqueue(4)
|
||||
testutil.AssertEqual(t, 4, buffer.Len())
|
||||
testutil.AssertEqual(t, 1, buffer.Peek())
|
||||
testutil.AssertEqual(t, 4, buffer.PeekBack())
|
||||
|
||||
buffer.Enqueue(5)
|
||||
testutil.AssertEqual(t, 5, buffer.Len())
|
||||
testutil.AssertEqual(t, 1, buffer.Peek())
|
||||
testutil.AssertEqual(t, 5, buffer.PeekBack())
|
||||
|
||||
buffer.Enqueue(6)
|
||||
testutil.AssertEqual(t, 6, buffer.Len())
|
||||
testutil.AssertEqual(t, 1, buffer.Peek())
|
||||
testutil.AssertEqual(t, 6, buffer.PeekBack())
|
||||
|
||||
buffer.Enqueue(7)
|
||||
testutil.AssertEqual(t, 7, buffer.Len())
|
||||
testutil.AssertEqual(t, 1, buffer.Peek())
|
||||
testutil.AssertEqual(t, 7, buffer.PeekBack())
|
||||
|
||||
buffer.Enqueue(8)
|
||||
testutil.AssertEqual(t, 8, buffer.Len())
|
||||
testutil.AssertEqual(t, 1, buffer.Peek())
|
||||
testutil.AssertEqual(t, 8, buffer.PeekBack())
|
||||
|
||||
value := buffer.Dequeue()
|
||||
testutil.AssertEqual(t, 1, value)
|
||||
testutil.AssertEqual(t, 7, buffer.Len())
|
||||
testutil.AssertEqual(t, 2, buffer.Peek())
|
||||
testutil.AssertEqual(t, 8, buffer.PeekBack())
|
||||
|
||||
value = buffer.Dequeue()
|
||||
testutil.AssertEqual(t, 2, value)
|
||||
testutil.AssertEqual(t, 6, buffer.Len())
|
||||
testutil.AssertEqual(t, 3, buffer.Peek())
|
||||
testutil.AssertEqual(t, 8, buffer.PeekBack())
|
||||
|
||||
value = buffer.Dequeue()
|
||||
testutil.AssertEqual(t, 3, value)
|
||||
testutil.AssertEqual(t, 5, buffer.Len())
|
||||
testutil.AssertEqual(t, 4, buffer.Peek())
|
||||
testutil.AssertEqual(t, 8, buffer.PeekBack())
|
||||
|
||||
value = buffer.Dequeue()
|
||||
testutil.AssertEqual(t, 4, value)
|
||||
testutil.AssertEqual(t, 4, buffer.Len())
|
||||
testutil.AssertEqual(t, 5, buffer.Peek())
|
||||
testutil.AssertEqual(t, 8, buffer.PeekBack())
|
||||
|
||||
value = buffer.Dequeue()
|
||||
testutil.AssertEqual(t, 5, value)
|
||||
testutil.AssertEqual(t, 3, buffer.Len())
|
||||
testutil.AssertEqual(t, 6, buffer.Peek())
|
||||
testutil.AssertEqual(t, 8, buffer.PeekBack())
|
||||
|
||||
value = buffer.Dequeue()
|
||||
testutil.AssertEqual(t, 6, value)
|
||||
testutil.AssertEqual(t, 2, buffer.Len())
|
||||
testutil.AssertEqual(t, 7, buffer.Peek())
|
||||
testutil.AssertEqual(t, 8, buffer.PeekBack())
|
||||
|
||||
value = buffer.Dequeue()
|
||||
testutil.AssertEqual(t, 7, value)
|
||||
testutil.AssertEqual(t, 1, buffer.Len())
|
||||
testutil.AssertEqual(t, 8, buffer.Peek())
|
||||
testutil.AssertEqual(t, 8, buffer.PeekBack())
|
||||
|
||||
value = buffer.Dequeue()
|
||||
testutil.AssertEqual(t, 8, value)
|
||||
testutil.AssertEqual(t, 0, buffer.Len())
|
||||
testutil.AssertZero(t, buffer.Peek())
|
||||
testutil.AssertZero(t, buffer.PeekBack())
|
||||
}
|
||||
|
||||
func TestBufferClear(t *testing.T) {
|
||||
// replaced new assertions helper
|
||||
|
||||
buffer := NewValueBuffer()
|
||||
buffer.Enqueue(1)
|
||||
buffer.Enqueue(1)
|
||||
buffer.Enqueue(1)
|
||||
buffer.Enqueue(1)
|
||||
buffer.Enqueue(1)
|
||||
buffer.Enqueue(1)
|
||||
buffer.Enqueue(1)
|
||||
buffer.Enqueue(1)
|
||||
|
||||
testutil.AssertEqual(t, 8, buffer.Len())
|
||||
|
||||
buffer.Clear()
|
||||
testutil.AssertEqual(t, 0, buffer.Len())
|
||||
testutil.AssertZero(t, buffer.Peek())
|
||||
testutil.AssertZero(t, buffer.PeekBack())
|
||||
}
|
||||
|
||||
func TestBufferArray(t *testing.T) {
|
||||
// replaced new assertions helper
|
||||
|
||||
buffer := NewValueBuffer()
|
||||
buffer.Enqueue(1)
|
||||
buffer.Enqueue(2)
|
||||
buffer.Enqueue(3)
|
||||
buffer.Enqueue(4)
|
||||
buffer.Enqueue(5)
|
||||
|
||||
contents := buffer.Array()
|
||||
testutil.AssertLen(t, contents, 5)
|
||||
testutil.AssertEqual(t, 1, contents[0])
|
||||
testutil.AssertEqual(t, 2, contents[1])
|
||||
testutil.AssertEqual(t, 3, contents[2])
|
||||
testutil.AssertEqual(t, 4, contents[3])
|
||||
testutil.AssertEqual(t, 5, contents[4])
|
||||
}
|
||||
|
||||
func TestBufferEach(t *testing.T) {
|
||||
// replaced new assertions helper
|
||||
|
||||
buffer := NewValueBuffer()
|
||||
|
||||
for x := 1; x < 17; x++ {
|
||||
buffer.Enqueue(float64(x))
|
||||
}
|
||||
|
||||
called := 0
|
||||
buffer.Each(func(_ int, v float64) {
|
||||
if v == float64(called+1) {
|
||||
called++
|
||||
}
|
||||
})
|
||||
|
||||
testutil.AssertEqual(t, 16, called)
|
||||
}
|
||||
|
||||
func TestNewBuffer(t *testing.T) {
|
||||
// replaced new assertions helper
|
||||
|
||||
empty := NewValueBuffer()
|
||||
testutil.AssertNotNil(t, empty)
|
||||
testutil.AssertZero(t, empty.Len())
|
||||
testutil.AssertEqual(t, bufferDefaultCapacity, empty.Capacity())
|
||||
testutil.AssertZero(t, empty.Peek())
|
||||
testutil.AssertZero(t, empty.PeekBack())
|
||||
}
|
||||
|
||||
func TestNewBufferWithValues(t *testing.T) {
|
||||
// replaced new assertions helper
|
||||
|
||||
values := NewValueBuffer(1, 2, 3, 4, 5)
|
||||
testutil.AssertNotNil(t, values)
|
||||
testutil.AssertEqual(t, 5, values.Len())
|
||||
testutil.AssertEqual(t, 1, values.Peek())
|
||||
testutil.AssertEqual(t, 5, values.PeekBack())
|
||||
}
|
||||
|
||||
func TestBufferGrowth(t *testing.T) {
|
||||
// replaced new assertions helper
|
||||
|
||||
values := NewValueBuffer(1, 2, 3, 4, 5)
|
||||
for i := 0; i < 1<<10; i++ {
|
||||
values.Enqueue(float64(i))
|
||||
}
|
||||
|
||||
testutil.AssertEqual(t, 1<<10-1, values.PeekBack())
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue