View Javadoc

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