25 lines
437 B
Go
25 lines
437 B
Go
package gonads
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestOption(t *testing.T) {
|
|
o := NewOption[string]()
|
|
val, err := o.Take()
|
|
if err == nil {
|
|
t.Fatalf("[unexpected] wanted no value out of Option[T], got: %v", val)
|
|
}
|
|
|
|
o.Set("hello friendos")
|
|
_, err = o.Take()
|
|
if err != nil {
|
|
t.Fatalf("[unexpected] wanted no value out of Option[T], got: %v", err)
|
|
}
|
|
|
|
o.Clear()
|
|
if o.IsSome() {
|
|
t.Fatal("Option should have none, but has some")
|
|
}
|
|
}
|