1   package ch.qos.logback.classic.spi;
2   
3   import static org.junit.Assert.assertEquals;
4   
5   import org.junit.Before;
6   import org.junit.Test;
7   
8   import ch.qos.logback.classic.LoggerContext;
9   import ch.qos.logback.classic.spi.BasicContextListener.UpdateType;
10  
11  public class ContextListenerTest  {
12    
13    LoggerContext context;
14    BasicContextListener listener;
15    
16    @Before
17    public void setUp() throws Exception {
18      context = new LoggerContext();
19      listener = new BasicContextListener();
20      context.addListener(listener);
21    }
22  
23    @Test
24    public void testNotifyOnReset() {
25      context.reset();
26      assertEquals(UpdateType.RESET, listener.updateType);
27      assertEquals(listener.context, context);
28    }
29  
30    @Test
31    public void testNotifyOnStopResistant() {
32      listener.setResetResistant(true);
33      context.stop();
34      assertEquals(UpdateType.STOP, listener.updateType);
35      assertEquals(listener.context, context);
36    }
37  
38    @Test
39    public void testNotifyOnStopNotResistant() {
40      context.stop();
41      assertEquals(UpdateType.RESET, listener.updateType);
42      assertEquals(listener.context, context);
43    }
44  
45    @Test
46    public void testNotifyOnStart() {
47      context.start();
48      assertEquals(UpdateType.START, listener.updateType);
49      assertEquals(listener.context, context);
50    }
51  }