📄 testtransformerutils.java
字号:
Collection coll = new ArrayList();
coll.add(b);
coll.add(a);
assertEquals("A", TransformerUtils.chainedTransformer(coll).transform(null));
assertSame(NOPTransformer.INSTANCE, TransformerUtils.chainedTransformer(new Transformer[0]));
assertSame(NOPTransformer.INSTANCE, TransformerUtils.chainedTransformer(Collections.EMPTY_LIST));
try {
TransformerUtils.chainedTransformer(null, null);
fail();
} catch (IllegalArgumentException ex) {}
try {
TransformerUtils.chainedTransformer((Transformer[]) null);
fail();
} catch (IllegalArgumentException ex) {}
try {
TransformerUtils.chainedTransformer((Collection) null);
fail();
} catch (IllegalArgumentException ex) {}
try {
TransformerUtils.chainedTransformer(new Transformer[] {null, null});
fail();
} catch (IllegalArgumentException ex) {}
try {
coll = new ArrayList();
coll.add(null);
coll.add(null);
TransformerUtils.chainedTransformer(coll);
fail();
} catch (IllegalArgumentException ex) {}
}
// switchTransformer
//------------------------------------------------------------------
public void testSwitchTransformer() {
Transformer a = TransformerUtils.constantTransformer("A");
Transformer b = TransformerUtils.constantTransformer("B");
Transformer c = TransformerUtils.constantTransformer("C");
assertEquals("A", TransformerUtils.switchTransformer(PredicateUtils.truePredicate(), a, b).transform(null));
assertEquals("B", TransformerUtils.switchTransformer(PredicateUtils.falsePredicate(), a, b).transform(null));
assertEquals(null, TransformerUtils.switchTransformer(
new Predicate[] {PredicateUtils.equalPredicate("HELLO"), PredicateUtils.equalPredicate("THERE")},
new Transformer[] {a, b}).transform("WELL"));
assertEquals("A", TransformerUtils.switchTransformer(
new Predicate[] {PredicateUtils.equalPredicate("HELLO"), PredicateUtils.equalPredicate("THERE")},
new Transformer[] {a, b}).transform("HELLO"));
assertEquals("B", TransformerUtils.switchTransformer(
new Predicate[] {PredicateUtils.equalPredicate("HELLO"), PredicateUtils.equalPredicate("THERE")},
new Transformer[] {a, b}).transform("THERE"));
assertEquals("C", TransformerUtils.switchTransformer(
new Predicate[] {PredicateUtils.equalPredicate("HELLO"), PredicateUtils.equalPredicate("THERE")},
new Transformer[] {a, b}, c).transform("WELL"));
Map map = new HashMap();
map.put(PredicateUtils.equalPredicate("HELLO"), a);
map.put(PredicateUtils.equalPredicate("THERE"), b);
assertEquals(null, TransformerUtils.switchTransformer(map).transform("WELL"));
assertEquals("A", TransformerUtils.switchTransformer(map).transform("HELLO"));
assertEquals("B", TransformerUtils.switchTransformer(map).transform("THERE"));
map.put(null, c);
assertEquals("C", TransformerUtils.switchTransformer(map).transform("WELL"));
assertSame(ConstantTransformer.NULL_INSTANCE, TransformerUtils.switchTransformer(new Predicate[0], new Transformer[0]));
assertSame(ConstantTransformer.NULL_INSTANCE, TransformerUtils.switchTransformer(new HashMap()));
map = new HashMap();
map.put(null, null);
assertSame(ConstantTransformer.NULL_INSTANCE, TransformerUtils.switchTransformer(map));
try {
TransformerUtils.switchTransformer(null, null);
fail();
} catch (IllegalArgumentException ex) {}
try {
TransformerUtils.switchTransformer((Predicate[]) null, (Transformer[]) null);
fail();
} catch (IllegalArgumentException ex) {}
try {
TransformerUtils.switchTransformer((Map) null);
fail();
} catch (IllegalArgumentException ex) {}
try {
TransformerUtils.switchTransformer(new Predicate[2], new Transformer[2]);
fail();
} catch (IllegalArgumentException ex) {}
try {
TransformerUtils.switchTransformer(
new Predicate[] {PredicateUtils.truePredicate()},
new Transformer[] {a,b});
fail();
} catch (IllegalArgumentException ex) {}
}
// switchMapTransformer
//------------------------------------------------------------------
public void testSwitchMapTransformer() {
Transformer a = TransformerUtils.constantTransformer("A");
Transformer b = TransformerUtils.constantTransformer("B");
Transformer c = TransformerUtils.constantTransformer("C");
Map map = new HashMap();
map.put("HELLO", a);
map.put("THERE", b);
assertEquals(null, TransformerUtils.switchMapTransformer(map).transform("WELL"));
assertEquals("A", TransformerUtils.switchMapTransformer(map).transform("HELLO"));
assertEquals("B", TransformerUtils.switchMapTransformer(map).transform("THERE"));
map.put(null, c);
assertEquals("C", TransformerUtils.switchMapTransformer(map).transform("WELL"));
assertSame(ConstantTransformer.NULL_INSTANCE, TransformerUtils.switchMapTransformer(new HashMap()));
map = new HashMap();
map.put(null, null);
assertSame(ConstantTransformer.NULL_INSTANCE, TransformerUtils.switchMapTransformer(map));
try {
TransformerUtils.switchMapTransformer(null);
fail();
} catch (IllegalArgumentException ex) {}
}
// invokerTransformer
//------------------------------------------------------------------
public void testInvokerTransformer() {
List list = new ArrayList();
assertEquals(new Integer(0), TransformerUtils.invokerTransformer("size").transform(list));
list.add(new Object());
assertEquals(new Integer(1), TransformerUtils.invokerTransformer("size").transform(list));
assertEquals(null, TransformerUtils.invokerTransformer("size").transform(null));
try {
TransformerUtils.invokerTransformer(null);
fail();
} catch (IllegalArgumentException ex) {}
try {
TransformerUtils.invokerTransformer("noSuchMethod").transform(new Object());
fail();
} catch (FunctorException ex) {}
}
// invokerTransformer2
//------------------------------------------------------------------
public void testInvokerTransformer2() {
List list = new ArrayList();
assertEquals(Boolean.FALSE, TransformerUtils.invokerTransformer(
"contains", new Class[] {Object.class}, new Object[] {cString}).transform(list));
list.add(cString);
assertEquals(Boolean.TRUE, TransformerUtils.invokerTransformer(
"contains", new Class[] {Object.class}, new Object[] {cString}).transform(list));
assertEquals(null, TransformerUtils.invokerTransformer(
"contains", new Class[] {Object.class}, new Object[] {cString}).transform(null));
try {
TransformerUtils.invokerTransformer(null, null, null);
fail();
} catch (IllegalArgumentException ex) {}
try {
TransformerUtils.invokerTransformer(
"noSuchMethod", new Class[] {Object.class}, new Object[] {cString}).transform(new Object());
fail();
} catch (FunctorException ex) {}
try {
TransformerUtils.invokerTransformer("badArgs", null, new Object[] { cString });
fail();
} catch (IllegalArgumentException ex) {}
try {
TransformerUtils.invokerTransformer("badArgs", new Class[] {Object.class}, null);
fail();
} catch (IllegalArgumentException ex) {}
try {
TransformerUtils.invokerTransformer("badArgs", new Class[] {}, new Object[] { cString });
fail();
} catch (IllegalArgumentException ex) {}
}
// stringValueTransformer
//------------------------------------------------------------------
public void testStringValueTransformer() {
assertNotNull( "StringValueTransformer should NEVER return a null value.",
TransformerUtils.stringValueTransformer().transform(null));
assertEquals( "StringValueTransformer should return \"null\" when given a null argument.", "null",
TransformerUtils.stringValueTransformer().transform(null));
assertEquals( "StringValueTransformer should return toString value", "6",
TransformerUtils.stringValueTransformer().transform(new Integer(6)));
}
// instantiateFactory
//------------------------------------------------------------------
public void testInstantiateTransformerNull() {
try {
Transformer trans = TransformerUtils.instantiateTransformer(null, new Object[] {"str"});
fail();
} catch (IllegalArgumentException ex) {}
try {
Transformer trans = TransformerUtils.instantiateTransformer(new Class[] {}, new Object[] {"str"});
fail();
} catch (IllegalArgumentException ex) {}
Transformer trans = TransformerUtils.instantiateTransformer(new Class[] {Long.class}, new Object[] {null});
try {
trans.transform(String.class);
fail();
} catch (FunctorException ex) {}
trans = TransformerUtils.instantiateTransformer();
assertEquals("", trans.transform(String.class));
trans = TransformerUtils.instantiateTransformer(new Class[] {Long.TYPE}, new Object[] {new Long(1000L)});
assertEquals(new Date(1000L), trans.transform(Date.class));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -