/*
* JCarder -- cards Java programs to keep threads disentangled
*
* Copyright (C) 2006-2007 Enea AB
* Copyright (C) 2007 Ulrik Svensson
* Copyright (C) 2007 Joel Rosdahl
*
* This program is made available under the GNU GPL version 2, with a special
* exception for linking with JUnit. See the accompanying file LICENSE.txt for
* details.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE.
*/
package com.enea.jcarder.util.logging;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import java.util.ArrayList;
import java.util.Collection;
import org.junit.Test;
public class TestLogger {
@Test
public void testConstruction() {
new Logger(null);
new Logger(null, Logger.Level.SEVERE);
}
@Test
public void testSevere() {
Handler mockHandler = mock(Handler.class);
Collection<Handler> handlers = new ArrayList<Handler>();
handlers.add(mockHandler);
Logger logger = new Logger(handlers);
logger.severe("foo");
verify(mockHandler).publish(Logger.Level.SEVERE, "foo");
}
@Test
public void testWarning() {
Handler mockHandler = mock(Handler.class);
Collection<Handler> handlers = new ArrayList<Handler>();
handlers.add(mockHandler);
Logger logger = new Logger(handlers);
logger.warning("foo");
verify(mockHandler).publish(Logger.Level.WARNING, "foo");
}
@Test
public void testInfo() {
Handler mockHandler = mock(Handler.class);
Collection<Handler> handlers = new ArrayList<Handler>();
handlers.add(mockHandler);
Logger logger = new Logger(handlers);
logger.info("foo");
verify(mockHandler).publish(Logger.Level.INFO, "foo");
}
@Test
public void testConfig() {
Handler mockHandler = mock(Handler.class);
Collection<Handler> handlers = new ArrayList<Handler>();
handlers.add(mockHandler);
Logger logger = new Logger(handlers);
logger.config("foo");
verify(mockHandler).publish(Logger.Level.CONFIG, "foo");
}
@Test
public void testFine() {
Handler mockHandler = mock(Handler.class);
Collection<Handler> handlers = new ArrayList<Handler>();
handlers.add(mockHandler);
Logger logger = new Logger(handlers);
logger.fine("foo");
verify(mockHandler).publish(Logger.Level.FINE, "foo");
}
@Test
public void testFiner() {
Handler mockHandler = mock(Handler.class);
Collection<Handler> handlers = new ArrayList<Handler>();
handlers.add(mockHandler);
Logger logger = new Logger(handlers);
logger.finer("foo");
verify(mockHandler).publish(Logger.Level.FINER, "foo");
}
@Test
public void testFinest() {
Handler mockHandler = mock(Handler.class);
Collection<Handler> handlers = new ArrayList<Handler>();
handlers.add(mockHandler);
Logger logger = new Logger(handlers);
logger.finest("foo");
verify(mockHandler).publish(Logger.Level.FINEST, "foo");
}
@Test
public void testIsLoggable() {
Logger logger = new Logger(null, Logger.Level.WARNING);
assertTrue(logger.isLoggable(Logger.Level.SEVERE));
assertTrue(logger.isLoggable(Logger.Level.WARNING));
assertFalse(logger.isLoggable(Logger.Level.INFO));
}
}