| /* |
| * Copyright (c) 2007 Mockito contributors |
| * This program is made available under the terms of the MIT License. |
| */ |
| package org.concurrentmockito; |
| |
| import static org.mockito.Mockito.inOrder; |
| import static org.mockito.Mockito.mock; |
| |
| import org.junit.Test; |
| import org.mockito.InOrder; |
| import org.mockitoutil.TestBase; |
| |
| public class VerificationInOrderFromMultipleThreadsTest extends TestBase { |
| |
| @Test |
| public void shouldVerifyInOrderWhenMultipleThreadsInteractWithMock() throws Exception { |
| final Foo testInf = mock(Foo.class); |
| |
| Thread threadOne = |
| new Thread( |
| new Runnable() { |
| public void run() { |
| testInf.methodOne(); |
| } |
| }); |
| threadOne.start(); |
| threadOne.join(); |
| |
| Thread threadTwo = |
| new Thread( |
| new Runnable() { |
| public void run() { |
| testInf.methodTwo(); |
| } |
| }); |
| threadTwo.start(); |
| threadTwo.join(); |
| |
| InOrder inOrder = inOrder(testInf); |
| inOrder.verify(testInf).methodOne(); |
| inOrder.verify(testInf).methodTwo(); |
| } |
| |
| public interface Foo { |
| void methodOne(); |
| |
| void methodTwo(); |
| } |
| } |