View Javadoc
1   package com.atlassian.sal.core.component;
2   
3   import com.atlassian.sal.api.component.ComponentLocator;
4   import org.junit.Test;
5   
6   import java.util.Collection;
7   import java.util.HashMap;
8   import java.util.Optional;
9   
10  import static org.junit.Assert.assertEquals;
11  
12  public class TestComponentLocator {
13  
14      @Test
15      public void testConvertClassToName() {
16          MockComponentLocator loc = new MockComponentLocator();
17          assertEquals("string", loc.convertClassToName(String.class));
18          assertEquals("hashMap", loc.convertClassToName(HashMap.class));
19      }
20  
21      private static class MockComponentLocator extends ComponentLocator {
22  
23          protected <T> T getComponentInternal(Class<T> iface) {
24              return null;
25          }
26  
27          @Override
28          protected <T> Collection<T> getComponentsInternal(Class<T> iface) {
29              return null;
30          }
31  
32          @Override
33          protected <T> T getComponentInternal(Class<T> iface, String componentId) {
34              return null;
35          }
36  
37          @Override
38          protected String convertClassToName(Class cls) {
39              return super.convertClassToName(cls);
40          }
41      }
42  
43      public void testGetComponentSafelyNotInitialised() {
44          assertEquals(ComponentLocator.getComponentSafely(String.class), Optional.empty());
45      }
46  
47      public void testGetComponentSafelyEmptyContainer() {
48          ComponentLocator.setComponentLocator(new MockComponentLocator());
49          assertEquals(ComponentLocator.getComponentSafely(String.class), Optional.empty());
50      }
51  }