### Question:
ProcessorData { public LastValueCache getLastValueCache() { return lastValueCache; } ProcessorData(Processor proc, ProcessorConfig config);  ProcessorData(String instance, String procName, XtceDb xtcedb, ProcessorConfig config); void setUserData(String key, T value); @SuppressWarnings("unchecked") T getUserData(String key); CalibratorProc getCalibrator(CriteriaEvaluator contextEvaluator, DataEncoding de); CalibratorProc getDecalibrator(DataEncoding de); DataDecoder getDataDecoder(DataEncoding de); XtceDb getXtceDb(); ParameterTypeProcessor getParameterTypeProcessor(); EventProducer getEventProducer(); LastValueCache getLastValueCache(); ParameterType getParameterType(Parameter parameter); void clearParameterOverrides(Parameter p); void clearParameterCalibratorOverrides(Parameter p); void setDefaultCalibrator(Parameter p, Calibrator defaultCalibrator); void setContextCalibratorList(Parameter p, List<ContextCalibrator> contextCalibrator); void clearParameterAlarmOverrides(Parameter p); void removeDefaultCalibrator(Parameter p); void removeDefaultAlarm(Parameter p); void setDefaultNumericAlarm(Parameter p, NumericAlarm alarm); void setNumericContextAlarm(Parameter p, List<NumericContextAlarm> contextAlarmList); void setDefaultEnumerationAlarm(Parameter p, EnumerationAlarm alarm); void setEnumerationContextAlarm(Parameter p, List<EnumerationContextAlarm> contextAlarmList); String getYamcsInstance(); ProcessorConfig getProcessorConfig(); String getProcessorName();  }### Answer:
@Test public void testInitialValue() { XtceDb xtcedb = XtceDbFactory.createInstanceByConfig("refmdb"); ProcessorData pdata = new ProcessorData("test", "test", xtcedb, new ProcessorConfig()); LastValueCache lvc = pdata.getLastValueCache(); ParameterValue pv = lvc.getValue(xtcedb.getParameter("/REFMDB/SUBSYS1/LocalParaWithInitialValue1")); assertEquals(3.14, pv.getEngValue().getFloatValue(), 1e-5); pv = lvc.getValue(xtcedb.getParameter("/REFMDB/SUBSYS1/LocalParaWithInitialValue2")); assertEquals(42, pv.getEngValue().getUint32Value()); pv = lvc.getValue(xtcedb.getParameter("/REFMDB/SUBSYS1/LocalParaWithInitialValue3")); assertEquals("string4 initial value", pv.getEngValue().getStringValue()); pv = lvc.getValue(xtcedb.getParameter("/REFMDB/SUBSYS1/LocalParaWithInitialValue4")); AggregateValue av = (AggregateValue) pv.getEngValue(); assertEquals(42, av.getMemberValue("member1").getUint32Value()); assertEquals(2.72, av.getMemberValue("member2").getFloatValue(), 1e-5); pv = lvc.getValue(xtcedb.getParameter("/REFMDB/SUBSYS1/LocalParaWithInitialValue5")); ArrayValue arrv = (ArrayValue) pv.getEngValue(); assertEquals(4, arrv.flatLength()); assertEquals(3.3, arrv.getElementValue(2).getFloatValue(), 1e-5); pv = lvc.getValue(xtcedb.getParameter("/REFMDB/SUBSYS1/LocalParaWithInitialValue6")); av = (AggregateValue) pv.getEngValue(); assertEquals(1, av.getMemberValue("member1").getUint32Value()); pv = lvc.getValue(xtcedb.getParameter("/REFMDB/SUBSYS1/LocalParaWithInitialValue7")); arrv = (ArrayValue) pv.getEngValue(); assertEquals(1, arrv.flatLength()); assertEquals(-10.12, arrv.getElementValue(0).getFloatValue(), 1e-5); }