1 package ch.qos.logback.core; 2 3 import static ch.qos.logback.core.BasicStatusManager.MAX_HEADER_COUNT; 4 import static ch.qos.logback.core.BasicStatusManager.TAIL_SIZE; 5 import static org.junit.Assert.assertEquals; 6 import static org.junit.Assert.assertNotNull; 7 8 import java.util.ArrayList; 9 import java.util.List; 10 11 import org.junit.Test; 12 13 import ch.qos.logback.core.status.ErrorStatus; 14 import ch.qos.logback.core.status.Status; 15 16 17 public class BasicStatusManagerTest { 18 19 20 BasicStatusManager bsm = new BasicStatusManager(); 21 22 @Test 23 public void smoke() { 24 bsm.add(new ErrorStatus("hello", this)); 25 assertEquals(Status.ERROR, bsm.getLevel()); 26 27 List<Status> statusList = bsm.getCopyOfStatusList(); 28 assertNotNull(statusList); 29 assertEquals(1, statusList.size()); 30 assertEquals("hello", statusList.get(0).getMessage()); 31 } 32 33 @Test 34 public void many() { 35 int margin = 300; 36 int len = MAX_HEADER_COUNT+TAIL_SIZE+margin; 37 for(int i = 0; i < len; i++) { 38 bsm.add(new ErrorStatus(""+i, this)); 39 } 40 41 List<Status> statusList = bsm.getCopyOfStatusList(); 42 assertNotNull(statusList); 43 assertEquals(MAX_HEADER_COUNT+TAIL_SIZE, statusList.size()); 44 List<Status> witness = new ArrayList<Status>(); 45 for(int i = 0; i < MAX_HEADER_COUNT; i++) { 46 witness.add(new ErrorStatus(""+i, this)); 47 } 48 for(int i = 0; i < TAIL_SIZE; i++) { 49 witness.add(new ErrorStatus(""+(MAX_HEADER_COUNT+margin+i), this)); 50 } 51 assertEquals(witness, statusList); 52 } 53 }