Initial cloud-services repo - gateway service + pkg modules
This commit is contained in:
63
pkg/scheduler/bucket_test.go
Normal file
63
pkg/scheduler/bucket_test.go
Normal file
@@ -0,0 +1,63 @@
|
||||
package scheduler
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"fiskerinc.com/modules/testhelper"
|
||||
)
|
||||
|
||||
func TestBucketProcess(t *testing.T) {
|
||||
bucket := Bucket[int]{}
|
||||
actual := []int{}
|
||||
|
||||
bucket.elements[1] = []int{1, 2, 3}
|
||||
|
||||
double := func(element int) {
|
||||
actual = append(actual, element*2)
|
||||
}
|
||||
|
||||
bucket.Process(double)
|
||||
|
||||
if len(bucket.elements[1]) != 0 {
|
||||
t.Errorf("Expected bucket to be clearsd after processing, but it wasn't")
|
||||
}
|
||||
|
||||
if bucket.bucket != 1 {
|
||||
t.Errorf("Expected active bucket to be incremented, but it wasn't")
|
||||
}
|
||||
|
||||
expected := []int{2, 4, 6}
|
||||
for i := 0; i < len(expected); i++ {
|
||||
if actual[i] != expected[i] {
|
||||
t.Errorf(testhelper.TestErrorTemplate, "Bucket.Process()", expected, actual)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestBucketLoop(t *testing.T) {
|
||||
bucket := Bucket[int]{}
|
||||
|
||||
stub := func(element int) {}
|
||||
|
||||
bucket.Process(stub)
|
||||
bucket.Process(stub)
|
||||
bucket.Process(stub)
|
||||
bucket.Process(stub)
|
||||
bucket.Process(stub)
|
||||
bucket.Process(stub)
|
||||
bucket.Process(stub)
|
||||
bucket.Process(stub)
|
||||
bucket.Process(stub)
|
||||
bucket.Process(stub)
|
||||
bucket.Process(stub)
|
||||
|
||||
if bucket.bucket != 11 {
|
||||
t.Errorf("Expected active bucket to be 11, got %d", bucket.bucket)
|
||||
}
|
||||
|
||||
bucket.Process(stub)
|
||||
|
||||
if bucket.bucket != 0 {
|
||||
t.Errorf("Expected active bucket to be 0, got %d", bucket.bucket)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user