| 40 | } |
| 41 | |
| 42 | func TestFuture_Wait(t *testing.T) { |
| 43 | f := New() |
| 44 | |
| 45 | go func() { |
| 46 | time.Sleep(500 * time.Millisecond) |
| 47 | f.Set(1, errors.New("1")) |
| 48 | }() |
| 49 | |
| 50 | val, err := f.Get() |
| 51 | if val, _ := val.(int); val != 1 { |
| 52 | t.Fatal("wrong val received from Get") |
| 53 | } |
| 54 | if err.Error() != "1" { |
| 55 | t.Error("Wrong error:", err) |
| 56 | } |
| 57 | |
| 58 | val, err = f.Get() |
| 59 | if val, _ := val.(int); val != 1 { |
| 60 | t.Fatal("wrong val received from Get on second try") |
| 61 | } |
| 62 | if err.Error() != "1" { |
| 63 | t.Error("Wrong error:", err) |
| 64 | } |
| 65 | } |
| 66 | |
| 67 | func TestFuture_WaitCtx(t *testing.T) { |
| 68 | f := New() |