Исходники и презентации
This commit is contained in:
63
homework/goroutines_and_scheduler/homework_test.go
Normal file
63
homework/goroutines_and_scheduler/homework_test.go
Normal file
@ -0,0 +1,63 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
type Task struct {
|
||||
Identifier int
|
||||
Priority int
|
||||
}
|
||||
|
||||
type Scheduler struct {
|
||||
// need to implement
|
||||
}
|
||||
|
||||
func NewScheduler() Scheduler {
|
||||
// need to implement
|
||||
return Scheduler{}
|
||||
}
|
||||
|
||||
func (s *Scheduler) AddTask(task Task) {
|
||||
// need to implement
|
||||
}
|
||||
|
||||
func (s *Scheduler) ChangeTaskPriority(taskID int, newPriority int) {
|
||||
// need to implement
|
||||
}
|
||||
|
||||
func (s *Scheduler) GetTask() Task {
|
||||
// need to implement
|
||||
return Task{}
|
||||
}
|
||||
|
||||
func TestTrace(t *testing.T) {
|
||||
task1 := Task{Identifier: 1, Priority: 10}
|
||||
task2 := Task{Identifier: 2, Priority: 20}
|
||||
task3 := Task{Identifier: 3, Priority: 30}
|
||||
task4 := Task{Identifier: 4, Priority: 40}
|
||||
task5 := Task{Identifier: 5, Priority: 50}
|
||||
|
||||
scheduler := NewScheduler()
|
||||
scheduler.AddTask(task1)
|
||||
scheduler.AddTask(task2)
|
||||
scheduler.AddTask(task3)
|
||||
scheduler.AddTask(task4)
|
||||
scheduler.AddTask(task5)
|
||||
|
||||
task := scheduler.GetTask()
|
||||
assert.Equal(t, task5, task)
|
||||
|
||||
task = scheduler.GetTask()
|
||||
assert.Equal(t, task4, task)
|
||||
|
||||
scheduler.ChangeTaskPriority(1, 100)
|
||||
|
||||
task = scheduler.GetTask()
|
||||
assert.Equal(t, task1, task)
|
||||
|
||||
task = scheduler.GetTask()
|
||||
assert.Equal(t, task3, task)
|
||||
}
|
||||
Reference in New Issue
Block a user