final String attributeName = "startDate";
AttributeDefinition dateDefinition = new AttributeDefinition();
dateDefinition.setName(attributeName);
//String date = "28 Feb 2013 03:50 PM";
Timestamp date = new Timestamp(System.currentTimeMillis());
SingleAttributeValueReader attributeValueReader = new SingleAttributeValueReader(
date, MatterEvent.class.getCanonicalName(), attributeName,
dateDefinition);
DictionaryValidationResult dictionaryValidationResult = new DictionaryValidationResult();
dictionaryValidationResult.setErrorLevel(ErrorLevel.NOCONSTRAINT);
ValidCharactersConstraintProcessor processor = new ValidCharactersConstraintProcessor();
// setup mocks
Config config = mock(Config.class);
final String dtFormat = "dd MMM yyyy hh:mm a";
when(config.getProperty(CoreConstants.STRING_TO_DATE_FORMATS))
.thenReturn(dtFormat);
ConfigContext.overrideConfig(Thread.currentThread()
.getContextClassLoader(), config);
DateTimeService dtSvc = mock(DateTimeService.class);
SimpleDateFormat sdf = new SimpleDateFormat(dtFormat);
when(dtSvc.toDateTimeString(date)).thenReturn(sdf.format(date));
attributeValueReader.setDateTimeService(dtSvc);
// create allowed formats
List<String> allowedFormats = new ArrayList<String>();
allowedFormats.add(dtFormat);
allowedFormats.add("d MMM yyyy hh:mm a");
allowedFormats.add("dd MMM yyyy");