package org.sef4j.log.slf4j;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.runners.MockitoJUnitRunner;
import org.sef4j.log.slf4j.LoggerExt;
import org.slf4j.Logger;
@RunWith(MockitoJUnitRunner.class)
public class LoggerExtTest {
@Mock
private Logger mockLogger;
@InjectMocks
protected LoggerExt sut;
@Before
public void setup() {
sut = new LoggerExt(mockLogger);
}
@Test
public void testParseEndingName() {
Assert.assertEquals("param1", LoggerExt.parseEndingName("hello param1:"));
Assert.assertEquals("param1", LoggerExt.parseEndingName("hello param1: "));
Assert.assertEquals("param1", LoggerExt.parseEndingName("hello param1="));
Assert.assertEquals("param1", LoggerExt.parseEndingName("hello param1= "));
Assert.assertEquals("param1", LoggerExt.parseEndingName("hello {{param1}}"));
Assert.assertEquals("param1", LoggerExt.parseEndingName("hello {{param1}} "));
}
@Test
public void testParseEndingName_shouldReturnNull() {
Assert.assertNull(LoggerExt.parseEndingName("hello param1"));
Assert.assertNull(LoggerExt.parseEndingName("hello param1 "));
}
@Test
public void testInfoNV_1param() {
// Mockito.reset(mockLogger);
Mockito.when(mockLogger.isInfoEnabled()).thenReturn(true);
Mockito.doNothing().when(mockLogger).info("test param1: 1");
sut.infoNV("test param1: ", 1);
Mockito.verify(mockLogger).isInfoEnabled();
Mockito.verify(mockLogger).info("test param1: 1");
}
@Test
public void testInfoNV_234params() {
Mockito.when(mockLogger.isInfoEnabled()).thenReturn(true);
Mockito.doNothing().when(mockLogger).info("test param1: 1, param2: 2");
sut.infoNV("test param1: ", 1, ", param2: ", 2);
Mockito.verify(mockLogger).info("test param1: 1, param2: 2");
Mockito.when(mockLogger.isInfoEnabled()).thenReturn(true);
Mockito.doNothing().when(mockLogger).info("test param1: 1, param2: 2, p3: 3");
sut.infoNV("test param1: ", 1, ", param2: ", 2, ", p3: {{param3}}", 3);
Mockito.verify(mockLogger).info("test param1: 1, param2: 2, p3: 3");
Mockito.when(mockLogger.isInfoEnabled()).thenReturn(true);
Mockito.doNothing().when(mockLogger).info("test param1: 1, param2: 2, p3:3, p4:4");
sut.infoNV("test param1: ", 1, ", param2: ", 2, ", p3:{{param3}}", 3, ", p4:", 4);
Mockito.verify(mockLogger).info("test param1: 1, param2: 2, p3:3, p4:4");
}
@Test
public void testInfoNV_5params() {
Mockito.when(mockLogger.isInfoEnabled()).thenReturn(true);
Mockito.doNothing().when(mockLogger).info("test p1:1, p2:2, p3:3, p4:4, p5:5");
sut.infoNV("test p1:", 1, ", p2:", 2, ", p3:", 3, ", p4:", 4, ", p5:", 5);
Mockito.verify(mockLogger).info("test p1:1, p2:2, p3:3, p4:4, p5:5");
}
}