33 lines
831 B
Go
33 lines
831 B
Go
package runner
|
|
|
|
import (
|
|
"encoding/json"
|
|
"github.com/stretchr/testify/assert"
|
|
"testing"
|
|
)
|
|
|
|
func TestIdIsStored(t *testing.T) {
|
|
runner := NewExerciseRunner("42")
|
|
assert.Equal(t, "42", runner.Id())
|
|
}
|
|
|
|
func TestStatusIsStored(t *testing.T) {
|
|
runner := NewExerciseRunner("42")
|
|
for _, status := range []Status{StatusReady, StatusRunning, StatusTimeout, StatusFinished} {
|
|
runner.SetStatus(status)
|
|
assert.Equal(t, status, runner.Status(), "The status is returned as it is stored")
|
|
}
|
|
}
|
|
|
|
func TestDefaultStatus(t *testing.T) {
|
|
runner := NewExerciseRunner("42")
|
|
assert.Equal(t, StatusReady, runner.status)
|
|
}
|
|
|
|
func TestMarshalRunner(t *testing.T) {
|
|
runner := NewExerciseRunner("42")
|
|
marshal, err := json.Marshal(runner)
|
|
assert.NoError(t, err)
|
|
assert.Equal(t, "{\"runnerId\":\"42\",\"status\":\"ready\"}", string(marshal))
|
|
}
|