View Javadoc
1   package com.atlassian.plugin.loaders.classloading;
2   
3   import org.junit.After;
4   import org.junit.Before;
5   import org.junit.Test;
6   import org.junit.runner.RunWith;
7   import org.mockito.Mock;
8   import org.mockito.junit.MockitoJUnitRunner;
9   
10  import java.io.File;
11  import java.util.Arrays;
12  import java.util.Collection;
13  
14  import static org.junit.Assert.assertEquals;
15  import static org.mockito.Mockito.verify;
16  import static org.mockito.Mockito.when;
17  
18  @RunWith(MockitoJUnitRunner.class)
19  public class TestForwardingScanner {
20      private ForwardingScanner forwardingScanner;
21  
22      @Mock
23      private Scanner mockScanner;
24  
25      final DeploymentUnit unitA = new DeploymentUnit(new File("unitA"));
26  
27      final DeploymentUnit unitB = new DeploymentUnit(new File("unitB"));
28  
29      @Before
30      public void setUp() {
31          forwardingScanner = new ForwardingScanner(mockScanner);
32      }
33  
34      @After
35      public void tearDown() {
36          forwardingScanner = null;
37      }
38  
39      @Test
40      public void scanIsForwarded() {
41          when(mockScanner.scan()).thenReturn(Arrays.asList(unitA));
42          final Collection<DeploymentUnit> deploymentUnits = forwardingScanner.scan();
43          verify(mockScanner).scan();
44          assertEquals(deploymentUnits, Arrays.asList(unitA));
45      }
46  
47      @Test
48      public void getDeploymentUnitsIsForwarded() {
49          when(mockScanner.getDeploymentUnits()).thenReturn(Arrays.asList(unitA, unitB));
50          final Collection<DeploymentUnit> deploymentUnits = forwardingScanner.getDeploymentUnits();
51          verify(mockScanner).getDeploymentUnits();
52          assertEquals(deploymentUnits, Arrays.asList(unitA, unitB));
53      }
54  
55      @Test
56      public void resetIsForwarded() {
57          forwardingScanner.reset();
58          verify(mockScanner).reset();
59      }
60  
61      @Test
62      public void removeIsForwarded() {
63          forwardingScanner.remove(unitA);
64          verify(mockScanner).remove(unitA);
65      }
66  }