View Javadoc
1   package com.atlassian.cache.impl;
2   
3   import com.atlassian.cache.CachedReferenceListener;
4   
5   import org.junit.Test;
6   
7   import static com.atlassian.cache.impl.CachedReferenceEventMatcher.event;
8   import static org.mockito.Mockito.mock;
9   import static org.mockito.Mockito.verify;
10  import static org.mockito.Mockito.verifyNoMoreInteractions;
11  
12  public class DefaultCachedReferenceListenerSupportTest
13  {
14      @Test
15      public void testAdd()
16      {
17          DefaultCachedReferenceListenerSupport<String> listenerSupport = new DefaultCachedReferenceListenerSupport<String>();
18  
19          listenerSupport.notifySet("SET");
20  
21          CachedReferenceListener<String> listener = mock(CachedReferenceListener.class);
22          listenerSupport.add(listener, true);
23  
24          listenerSupport.notifySet("SET");
25  
26          verify(listener).onSet(event("SET"));
27          verifyNoMoreInteractions(listener);
28      }
29  
30      @Test
31      public void testRemove()
32      {
33          DefaultCachedReferenceListenerSupport<String> listenerSupport = new DefaultCachedReferenceListenerSupport<String>();
34  
35          listenerSupport.notifySet("SET");
36  
37          CachedReferenceListener<String> listener = mock(CachedReferenceListener.class);
38          listenerSupport.add(listener, true);
39  
40          listenerSupport.notifySet("SET");
41  
42          listenerSupport.remove(listener);
43  
44          listenerSupport.notifySet("SET");
45  
46          verify(listener).onSet(event("SET"));
47          verifyNoMoreInteractions(listener);
48      }
49  
50      @Test
51      public void testNotifyEvict()
52      {
53          DefaultCachedReferenceListenerSupport<String> listenerSupport = new DefaultCachedReferenceListenerSupport<String>();
54  
55          CachedReferenceListener<String> listener = mock(CachedReferenceListener.class);
56          listenerSupport.add(listener, true);
57  
58          listenerSupport.notifyEvict("EVICT");
59  
60          verify(listener).onEvict(event("EVICT"));
61          verifyNoMoreInteractions(listener);
62      }
63  
64      @Test
65      public void testNotifySet()
66      {
67          DefaultCachedReferenceListenerSupport<String> listenerSupport = new DefaultCachedReferenceListenerSupport<String>();
68  
69          CachedReferenceListener<String> listener = mock(CachedReferenceListener.class);
70          listenerSupport.add(listener, true);
71  
72          listenerSupport.notifySet("SET");
73  
74          verify(listener).onSet(event("SET"));
75          verifyNoMoreInteractions(listener);
76      }
77  
78      @Test
79      public void testNotifyReset()
80      {
81          DefaultCachedReferenceListenerSupport<String> listenerSupport = new DefaultCachedReferenceListenerSupport<String>();
82  
83          CachedReferenceListener<String> listener = mock(CachedReferenceListener.class);
84          listenerSupport.add(listener, true);
85  
86          listenerSupport.notifyReset("RESET");
87  
88          verify(listener).onReset(event("RESET"));
89          verifyNoMoreInteractions(listener);
90      }
91  }