blob: 2502b13f2311efc258ea2c23460ceb4f7a4fd813 [file] [log] [blame]
Jinseong Jeone11145f2018-12-13 10:57:29 -08001// Copyright (c) 2018, the R8 project authors. Please see the AUTHORS file
2// for details. All rights reserved. Use of this source code is governed by a
3// BSD-style license that can be found in the LICENSE file.
4package mockito_interface;
5
6import static org.mockito.Mockito.times;
7import static org.mockito.Mockito.verify;
8
9import org.junit.Before;
10import org.junit.Test;
11import org.junit.runner.RunWith;
12import org.junit.runners.Parameterized;
13import org.mockito.Mock;
14import org.mockito.MockitoAnnotations;
15
16@RunWith(Parameterized.class)
17public class InterfaceTest {
18 @Mock
19 private Interface fld;
20
21 private InterfaceUser user;
22
23 private boolean flag;
24
25 @Parameterized.Parameters(name = "flag: {0}")
26 public static Boolean[] data() {
27 return new Boolean[] {true, false};
28 }
29
30 public InterfaceTest(boolean flag) {
31 this.flag = flag;
32 }
33
34 @Before
35 public void setUp() {
36 MockitoAnnotations.initMocks(this);
37 user = new InterfaceUser(fld);
38 }
39
40 @Test
41 public void test() {
42 if (flag) {
43 user.consume();
44 }
45 verify(fld, times(flag ? 1 : 0)).onEnterForeground();
46 }
47}