| 1345 | } |
| 1346 | |
| 1347 | func Test_Mock_Called_blocks(t *testing.T) { |
| 1348 | t.Parallel() |
| 1349 | |
| 1350 | var mockedService = new(TestExampleImplementation) |
| 1351 | |
| 1352 | mockedService.Mock.On("asyncCall", 1, 2, 3).Return(5, "6", true).After(20 * time.Millisecond) |
| 1353 | |
| 1354 | ch := make(chan Arguments) |
| 1355 | |
| 1356 | go asyncCall(&mockedService.Mock, ch) |
| 1357 | |
| 1358 | select { |
| 1359 | case <-ch: |
| 1360 | t.Fatal("should have waited") |
| 1361 | case <-time.After(10 * time.Millisecond): |
| 1362 | } |
| 1363 | |
| 1364 | returnArguments := <-ch |
| 1365 | |
| 1366 | if assert.Equal(t, 1, len(mockedService.Mock.Calls)) { |
| 1367 | assert.Equal(t, "asyncCall", mockedService.Mock.Calls[0].Method) |
| 1368 | assert.Equal(t, 1, mockedService.Mock.Calls[0].Arguments[0]) |
| 1369 | assert.Equal(t, 2, mockedService.Mock.Calls[0].Arguments[1]) |
| 1370 | assert.Equal(t, 3, mockedService.Mock.Calls[0].Arguments[2]) |
| 1371 | } |
| 1372 | |
| 1373 | if assert.Equal(t, 3, len(returnArguments)) { |
| 1374 | assert.Equal(t, 5, returnArguments[0]) |
| 1375 | assert.Equal(t, "6", returnArguments[1]) |
| 1376 | assert.Equal(t, true, returnArguments[2]) |
| 1377 | } |
| 1378 | |
| 1379 | } |
| 1380 | |
| 1381 | func Test_Mock_Called_For_Bounded_Repeatability(t *testing.T) { |
| 1382 | t.Parallel() |