package org.marketcetera.util.log;
import java.io.Serializable;
import java.util.Locale;
import org.apache.log4j.Level;
import org.junit.Test;
import static org.junit.Assert.*;
/**
* @author tlerios@marketcetera.com
* @since 0.5.0
* @version $Id: TI18NMessageNPTest.java 16154 2012-07-14 16:34:05Z colin $
*/
/* $License$ */
public class TI18NMessageNPTest
extends I18NMessageTestBase
{
private static final String TEST_MSG_EN=
"PN msg (expected) en "+TEST_P1+" "+TEST_P2+" "+TEST_P3+" "+TEST_P4+
" "+TEST_P5+" "+TEST_P6+" "+TEST_P7;
private static final String TEST_TTL_EN=
"PN ttl (expected) en "+TEST_P1+" "+TEST_P2+" "+TEST_P3+" "+TEST_P4+
" "+TEST_P5+" "+TEST_P6+" "+TEST_P7;
private static final String TEST_MSG_FR=
"PN msg (expected) fr "+TEST_P1+" "+TEST_P2+" "+TEST_P3+" "+TEST_P4+
" "+TEST_P5+" "+TEST_P6+" "+TEST_P7;
private static final String TEST_TTL_FR=
"PN ttl (expected) fr "+TEST_P1+" "+TEST_P2+" "+TEST_P3+" "+TEST_P4+
" "+TEST_P5+" "+TEST_P6+" "+TEST_P7;
private static final String TEST_MSG_MISMATCH_EN=
"PN msg (expected) en "+TEST_P1+" "+TEST_P2+" "+TEST_P3+" "+TEST_P4+
" "+TEST_P5+" "+TEST_P6+" {6}";
private static final String TEST_MSG_EN_NULL=
"PN msg (expected) en null null null null null null null";
private static final String TEST_TTL_EN_NULL=
"PN ttl (expected) en null null null null null null null";
private static final String TEST_MSG_FR_NULL=
"PN msg (expected) fr null null null null null null null";
private static final String TEST_TTL_FR_NULL=
"PN ttl (expected) fr null null null null null null null";
private static final String TEST_MSG_EN_NOSUB=
"PN msg (expected) en {0} {1} {2} {3} {4} {5} {6}";
private static final String TEST_TTL_EN_NOSUB=
"PN ttl (expected) en {0} {1} {2} {3} {4} {5} {6}";
private static final String TEST_MSG_FR_NOSUB=
"PN msg (expected) fr {0} {1} {2} {3} {4} {5} {6}";
private static final String TEST_TTL_FR_NOSUB=
"PN ttl (expected) fr {0} {1} {2} {3} {4} {5} {6}";
private static final String TEST_LOCATION=
TI18NMessageNPTest.class.getName();
private static void castOverride
(I18NMessageNP m) {}
@Test
public void basic()
{
unboundTests
(-1,
new I18NMessageNP(TestMessages.LOGGER,TEST_MSG_ID,TEST_ENTRY_ID),
new I18NMessageNP(TestMessages.LOGGER,TEST_MSG_ID,TEST_ENTRY_ID),
new I18NMessage[] {
new I18NMessageNP
(TEST_LOGGER_D,TEST_MSG_ID,TEST_ENTRY_ID),
new I18NMessageNP
(TestMessages.LOGGER,TEST_MSG_ID_D,TEST_ENTRY_ID),
new I18NMessageNP
(TestMessages.LOGGER,TEST_MSG_ID,TEST_ENTRY_ID_D),
new I18NMessage0P
(TestMessages.LOGGER,TEST_MSG_ID,TEST_ENTRY_ID)
},
new I18NMessageNP(TestMessages.LOGGER,TEST_MSG_ID));
}
@Test
public void messageProvider()
{
assertEquals
(TEST_MSG_EN,TestMessages.PN_MSG.getText
(TEST_P1,TEST_P2,TEST_P3,TEST_P4,TEST_P5,TEST_P6,TEST_P7));
assertEquals
(TEST_TTL_EN,TestMessages.PN_TTL.getText
(TEST_P1,TEST_P2,TEST_P3,TEST_P4,TEST_P5,TEST_P6,TEST_P7));
assertEquals
(TEST_MSG_FR,TestMessages.PN_MSG.getText
(Locale.FRENCH,TEST_P1,TEST_P2,TEST_P3,TEST_P4,TEST_P5,TEST_P6,
TEST_P7));
assertEquals
(TEST_TTL_FR,TestMessages.PN_TTL.getText
(Locale.FRENCH,TEST_P1,TEST_P2,TEST_P3,TEST_P4,TEST_P5,TEST_P6,
TEST_P7));
}
@Test
public void loggerProxy()
{
TestMessages.PN_MSG.error
(TEST_CATEGORY,TEST_THROWABLE,TEST_P1,TEST_P2,TEST_P3,TEST_P4,
TEST_P5,TEST_P6,TEST_P7);
assertSingleEvent(Level.ERROR,TEST_CATEGORY,TEST_MSG_EN,TEST_LOCATION);
TestMessages.PN_MSG.error
(TEST_CATEGORY,TEST_P1,TEST_P2,TEST_P3,TEST_P4,TEST_P5,TEST_P6,
TEST_P7);
assertSingleEvent(Level.ERROR,TEST_CATEGORY,TEST_MSG_EN,TEST_LOCATION);
TestMessages.PN_TTL.error
(TEST_CATEGORY,TEST_THROWABLE,TEST_P1,TEST_P2,TEST_P3,TEST_P4,
TEST_P5,TEST_P6,TEST_P7);
assertSingleEvent(Level.ERROR,TEST_CATEGORY,TEST_TTL_EN,TEST_LOCATION);
TestMessages.PN_TTL.error
(TEST_CATEGORY,TEST_P1,TEST_P2,TEST_P3,TEST_P4,TEST_P5,TEST_P6,
TEST_P7);
assertSingleEvent(Level.ERROR,TEST_CATEGORY,TEST_TTL_EN,TEST_LOCATION);
TestMessages.PN_MSG.warn
(TEST_CATEGORY,TEST_THROWABLE,TEST_P1,TEST_P2,TEST_P3,TEST_P4,
TEST_P5,TEST_P6,TEST_P7);
assertSingleEvent(Level.WARN,TEST_CATEGORY,TEST_MSG_EN,TEST_LOCATION);
TestMessages.PN_MSG.warn
(TEST_CATEGORY,TEST_P1,TEST_P2,TEST_P3,TEST_P4,TEST_P5,TEST_P6,
TEST_P7);
assertSingleEvent(Level.WARN,TEST_CATEGORY,TEST_MSG_EN,TEST_LOCATION);
TestMessages.PN_TTL.warn
(TEST_CATEGORY,TEST_THROWABLE,TEST_P1,TEST_P2,TEST_P3,TEST_P4,
TEST_P5,TEST_P6,TEST_P7);
assertSingleEvent(Level.WARN,TEST_CATEGORY,TEST_TTL_EN,TEST_LOCATION);
TestMessages.PN_TTL.warn
(TEST_CATEGORY,TEST_P1,TEST_P2,TEST_P3,TEST_P4,TEST_P5,TEST_P6,
TEST_P7);
assertSingleEvent(Level.WARN,TEST_CATEGORY,TEST_TTL_EN,TEST_LOCATION);
TestMessages.PN_MSG.info
(TEST_CATEGORY,TEST_THROWABLE,TEST_P1,TEST_P2,TEST_P3,TEST_P4,
TEST_P5,TEST_P6,TEST_P7);
assertSingleEvent(Level.INFO,TEST_CATEGORY,TEST_MSG_EN,TEST_LOCATION);
TestMessages.PN_MSG.info
(TEST_CATEGORY,TEST_P1,TEST_P2,TEST_P3,TEST_P4,TEST_P5,TEST_P6,
TEST_P7);
assertSingleEvent(Level.INFO,TEST_CATEGORY,TEST_MSG_EN,TEST_LOCATION);
TestMessages.PN_TTL.info
(TEST_CATEGORY,TEST_THROWABLE,TEST_P1,TEST_P2,TEST_P3,TEST_P4,
TEST_P5,TEST_P6,TEST_P7);
assertSingleEvent(Level.INFO,TEST_CATEGORY,TEST_TTL_EN,TEST_LOCATION);
TestMessages.PN_TTL.info
(TEST_CATEGORY,TEST_P1,TEST_P2,TEST_P3,TEST_P4,TEST_P5,TEST_P6,
TEST_P7);
assertSingleEvent(Level.INFO,TEST_CATEGORY,TEST_TTL_EN,TEST_LOCATION);
TestMessages.PN_MSG.debug
(TEST_CATEGORY,TEST_THROWABLE,TEST_P1,TEST_P2,TEST_P3,TEST_P4,
TEST_P5,TEST_P6,TEST_P7);
assertSingleEvent(Level.DEBUG,TEST_CATEGORY,TEST_MSG_EN,TEST_LOCATION);
TestMessages.PN_MSG.debug
(TEST_CATEGORY,TEST_P1,TEST_P2,TEST_P3,TEST_P4,TEST_P5,TEST_P6,
TEST_P7);
assertSingleEvent(Level.DEBUG,TEST_CATEGORY,TEST_MSG_EN,TEST_LOCATION);
TestMessages.PN_TTL.debug
(TEST_CATEGORY,TEST_THROWABLE,TEST_P1,TEST_P2,TEST_P3,TEST_P4,
TEST_P5,TEST_P6,TEST_P7);
assertSingleEvent(Level.DEBUG,TEST_CATEGORY,TEST_TTL_EN,TEST_LOCATION);
TestMessages.PN_TTL.debug
(TEST_CATEGORY,TEST_P1,TEST_P2,TEST_P3,TEST_P4,TEST_P5,TEST_P6,
TEST_P7);
assertSingleEvent(Level.DEBUG,TEST_CATEGORY,TEST_TTL_EN,TEST_LOCATION);
TestMessages.PN_MSG.trace
(TEST_CATEGORY,TEST_THROWABLE,TEST_P1,TEST_P2,TEST_P3,TEST_P4,
TEST_P5,TEST_P6,TEST_P7);
assertSingleEvent(Level.TRACE,TEST_CATEGORY,TEST_MSG_EN,TEST_LOCATION);
TestMessages.PN_MSG.trace
(TEST_CATEGORY,TEST_P1,TEST_P2,TEST_P3,TEST_P4,TEST_P5,TEST_P6,
TEST_P7);
assertSingleEvent(Level.TRACE,TEST_CATEGORY,TEST_MSG_EN,TEST_LOCATION);
TestMessages.PN_TTL.trace
(TEST_CATEGORY,TEST_THROWABLE,TEST_P1,TEST_P2,TEST_P3,TEST_P4,
TEST_P5,TEST_P6,TEST_P7);
assertSingleEvent(Level.TRACE,TEST_CATEGORY,TEST_TTL_EN,TEST_LOCATION);
TestMessages.PN_TTL.trace
(TEST_CATEGORY,TEST_P1,TEST_P2,TEST_P3,TEST_P4,TEST_P5,TEST_P6,
TEST_P7);
assertSingleEvent(Level.TRACE,TEST_CATEGORY,TEST_TTL_EN,TEST_LOCATION);
}
@Test
public void countMismatch()
{
TestMessages.PN_MSG.error
(TEST_CATEGORY,TEST_THROWABLE,TEST_P1,TEST_P2,TEST_P3,TEST_P4,
TEST_P5,TEST_P6);
assertSingleEvent
(Level.ERROR,TEST_CATEGORY,TEST_MSG_MISMATCH_EN,TEST_LOCATION);
TestMessages.PN_MSG.error
(TEST_CATEGORY,TEST_P1,TEST_P2,TEST_P3,TEST_P4,TEST_P5,TEST_P6);
assertSingleEvent
(Level.ERROR,TEST_CATEGORY,TEST_MSG_MISMATCH_EN,TEST_LOCATION);
TestMessages.PN_MSG.error
(TEST_CATEGORY,TEST_THROWABLE,TEST_P1,TEST_P2,TEST_P3,TEST_P4,
TEST_P5,TEST_P6,TEST_P7,TEST_P7);
assertSingleEvent
(Level.ERROR,TEST_CATEGORY,TEST_MSG_EN,TEST_LOCATION);
TestMessages.PN_MSG.error
(TEST_CATEGORY,TEST_P1,TEST_P2,TEST_P3,TEST_P4,TEST_P5,TEST_P6,
TEST_P7,TEST_P7);
assertSingleEvent
(Level.ERROR,TEST_CATEGORY,TEST_MSG_EN,TEST_LOCATION);
}
@Test
public void bound()
{
Serializable[] params=new Serializable[]
{TEST_P1,TEST_P2,TEST_P3,TEST_P4,
TEST_P5,TEST_P6,TEST_P7};
I18NBoundMessageNP m=new I18NBoundMessageNP
(TestMessages.PN_MSG,TEST_P1,TEST_P2,TEST_P3,TEST_P4,TEST_P5,
TEST_P6,TEST_P7);
boundTests(m,new I18NBoundMessageNP
(TestMessages.PN_MSG,TEST_P1,TEST_P2,TEST_P3,TEST_P4,
TEST_P5,TEST_P6,TEST_P7),
new I18NBoundMessage[] {
new I18NBoundMessageNP
(TestMessages.PN_MSG,TEST_P1,TEST_P2,TEST_P3,TEST_P4,
TEST_P5,TEST_P6,TEST_P1),
new I18NBoundMessageNP
(TestMessages.PN_MSG,TEST_P1,TEST_P2,TEST_P3,TEST_P4,
TEST_P5,TEST_P6),
new I18NBoundMessageNP
(TestMessages.PN_MSG,TEST_P1,TEST_P2,TEST_P3,TEST_P4,
TEST_P5,TEST_P6,TEST_P7,TEST_P1),
new I18NBoundMessageNP
(TestMessages.PN_TTL,TEST_P1,TEST_P2,TEST_P3,TEST_P4,
TEST_P5,TEST_P6,TEST_P7),
TestMessages.P0_MSG
},params,TestMessages.PN_MSG,TEST_MSG_EN,TEST_MSG_FR);
castOverride(m.getMessage());
boundTests(new I18NBoundMessageNP
(TestMessages.PN_TTL,TEST_P1,TEST_P2,TEST_P3,TEST_P4,
TEST_P5,TEST_P6,TEST_P7),
new I18NBoundMessageNP
(TestMessages.PN_TTL,TEST_P1,TEST_P2,TEST_P3,TEST_P4,TEST_P5,
TEST_P6,TEST_P7),
new I18NBoundMessage[] {
new I18NBoundMessageNP
(TestMessages.PN_TTL,TEST_P1,TEST_P2,TEST_P3,TEST_P4,
TEST_P5,TEST_P6,TEST_P1),
new I18NBoundMessageNP
(TestMessages.PN_TTL,TEST_P1,TEST_P2,TEST_P3,TEST_P4,
TEST_P5,TEST_P6),
new I18NBoundMessageNP
(TestMessages.PN_TTL,TEST_P1,TEST_P2,TEST_P3,TEST_P4,
TEST_P5,TEST_P6,TEST_P7,TEST_P1),
new I18NBoundMessageNP
(TestMessages.PN_MSG,TEST_P1,TEST_P2,TEST_P3,TEST_P4,
TEST_P5,TEST_P6,TEST_P7),
TestMessages.P0_TTL
},params,TestMessages.PN_TTL,
TEST_TTL_EN,TEST_TTL_FR);
params=new Serializable[] {null,null,null,null,null,null,null};
boundTests(new I18NBoundMessageNP
(TestMessages.PN_MSG,(Serializable)null,
(Serializable)null,(Serializable)null,
(Serializable)null,(Serializable)null,
(Serializable)null,(Serializable)null),
new I18NBoundMessageNP
(TestMessages.PN_MSG,(Serializable)null,
(Serializable)null,(Serializable)null,
(Serializable)null,(Serializable)null,
(Serializable)null,(Serializable)null),
new I18NBoundMessage[] {
new I18NBoundMessageNP
(TestMessages.PN_MSG,(Serializable)null,
(Serializable)null,(Serializable)null,
(Serializable)null,(Serializable)null,
(Serializable)null,TEST_P1),
new I18NBoundMessageNP
(TestMessages.PN_MSG,(Serializable)null,
(Serializable)null,(Serializable)null,
(Serializable)null,(Serializable)null,
(Serializable)null),
new I18NBoundMessageNP
(TestMessages.PN_MSG,(Serializable)null,
(Serializable)null,(Serializable)null,
(Serializable)null,(Serializable)null,
(Serializable)null,(Serializable)null,TEST_P1),
new I18NBoundMessageNP
(TestMessages.PN_TTL,(Serializable)null,
(Serializable)null,(Serializable)null,
(Serializable)null,(Serializable)null,
(Serializable)null,(Serializable)null),
TestMessages.P0_MSG
},params,
TestMessages.PN_MSG,TEST_MSG_EN_NULL,TEST_MSG_FR_NULL);
boundTests(new I18NBoundMessageNP
(TestMessages.PN_TTL,(Serializable)null,
(Serializable)null,(Serializable)null,
(Serializable)null,(Serializable)null,
(Serializable)null,(Serializable)null),
new I18NBoundMessageNP
(TestMessages.PN_TTL,(Serializable)null,
(Serializable)null,(Serializable)null,
(Serializable)null,(Serializable)null,
(Serializable)null,(Serializable)null),
new I18NBoundMessage[] {
new I18NBoundMessageNP
(TestMessages.PN_TTL,(Serializable)null,
(Serializable)null,(Serializable)null,
(Serializable)null,(Serializable)null,
(Serializable)null,TEST_P1),
new I18NBoundMessageNP
(TestMessages.PN_TTL,(Serializable)null,
(Serializable)null,(Serializable)null,
(Serializable)null,(Serializable)null,
(Serializable)null),
new I18NBoundMessageNP
(TestMessages.PN_TTL,(Serializable)null,
(Serializable)null,(Serializable)null,
(Serializable)null,(Serializable)null,
(Serializable)null,(Serializable)null,TEST_P1),
new I18NBoundMessageNP
(TestMessages.PN_MSG,(Serializable)null,
(Serializable)null,(Serializable)null,
(Serializable)null,(Serializable)null,
(Serializable)null,(Serializable)null),
TestMessages.P0_TTL
},params,
TestMessages.PN_TTL,TEST_TTL_EN_NULL,TEST_TTL_FR_NULL);
boundTests(new I18NBoundMessageNP
(TestMessages.PN_MSG,(Serializable[])null),
new I18NBoundMessageNP
(TestMessages.PN_MSG,I18NBoundMessage.EMPTY_PARAMS),
new I18NBoundMessage[] {
new I18NBoundMessageNP
(TestMessages.PN_MSG,TEST_P1),
new I18NBoundMessageNP
(TestMessages.PN_TTL,(Serializable[])null),
TestMessages.P0_MSG
},I18NBoundMessage.EMPTY_PARAMS,
TestMessages.PN_MSG,TEST_MSG_EN_NOSUB,TEST_MSG_FR_NOSUB);
boundTests(new I18NBoundMessageNP
(TestMessages.PN_TTL,(Serializable[])null),
new I18NBoundMessageNP
(TestMessages.PN_TTL,I18NBoundMessage.EMPTY_PARAMS),
new I18NBoundMessage[] {
new I18NBoundMessageNP
(TestMessages.PN_TTL,TEST_P1),
new I18NBoundMessageNP
(TestMessages.PN_MSG,(Serializable[])null),
TestMessages.P0_TTL
},I18NBoundMessage.EMPTY_PARAMS,
TestMessages.PN_TTL,TEST_TTL_EN_NOSUB,TEST_TTL_FR_NOSUB);
}
}