1 package com.atlassian.plugin.loaders.classloading;
2
3 import java.io.File;
4 import java.util.Arrays;
5
6 import org.junit.Test;
7
8 import static org.junit.Assert.assertEquals;
9 import static org.mockito.Mockito.mock;
10 import static org.mockito.Mockito.verify;
11 import static org.mockito.Mockito.when;
12
13 public class TestForwardingScanner
14 {
15 @Test
16 public void allMethodsForwardToDelegate()
17 {
18 DeploymentUnit unitA = new DeploymentUnit(new File("unitA"));
19 DeploymentUnit unitB = new DeploymentUnit(new File("unitB"));
20 Scanner mockScanner = mock(Scanner.class);
21 when(mockScanner.scan()).thenReturn(Arrays.asList(unitA));
22 when(mockScanner.getDeploymentUnits()).thenReturn(Arrays.asList(unitA, unitB));
23
24 Scanner forwardingScanner = new ForwardingScanner(mockScanner);
25 assertEquals(forwardingScanner.scan(), Arrays.asList(unitA));
26 verify(mockScanner).scan();
27 assertEquals(forwardingScanner.getDeploymentUnits(), Arrays.asList(unitA, unitB));
28 verify(mockScanner).getDeploymentUnits();
29 forwardingScanner.reset();
30 verify(mockScanner).reset();
31 forwardingScanner.remove(unitA);
32 verify(mockScanner).remove(unitA);
33 }
34 }