{
MockControl asc = newControl(IApplicationSpecification.class);
IApplicationSpecification as = (IApplicationSpecification) asc.getMock();
MockControl tcc = newControl(TypeConverter.class);
TypeConverter tc = (TypeConverter) tcc.getMock();
// Training
as.checkExtension(Tapestry.OGNL_TYPE_CONVERTER);
asc.setReturnValue(true);
as.getExtension(Tapestry.OGNL_TYPE_CONVERTER, TypeConverter.class);
asc.setReturnValue(tc);
replayControls();
ExpressionCache cache = new ExpressionCacheImpl();
ExpressionEvaluatorImpl ee = new ExpressionEvaluatorImpl();
ee.setExpressionCache(cache);
ee.setApplicationSpecification(as);
ee.setContributions(Collections.EMPTY_LIST);
ee.initializeService();
verifyControls();
Fixture f = new Fixture();
Method m = Fixture.class.getMethod("setValue", new Class[]
{ String.class });
Date d = new Date();
// Training
// Since we have no idea what OGNL will stuff into that Map parameter,
// we just ignore it.
tc.convertValue(null, f, m, "value", d, String.class);
tcc.setMatcher(new NullMeansIgnoreMatcher());
tcc.setReturnValue("FROM-TYPE-CONVERTER");
replayControls();