### Question:
FASTCodec extends AbstractCodec { @Override public void init( IServiceContext serviceContext, ICommonSettings settings, IMessageFactory msgFactory, IDictionaryStructure dictionary) { this.serviceContext = Objects.requireNonNull(serviceContext, "'Service context' parameter cannot be null"); this.msgDictionary = Objects.requireNonNull(dictionary, "'dictionary' parameter cannot be null"); String fastTemplate = Objects.requireNonNull(getAttributeValue(dictionary, FASTMessageHelper.TEMPLATE_ATTRIBYTE), "'Template attribute' parameter"); this.settings = (FASTCodecSettings)Objects.requireNonNull(settings, "'settings' parameter cannot be null"); SailfishURI dictionaryName = Objects.requireNonNull(this.settings.getDictionaryName(), "'Dictionary name' parameter"); IDataManager dataManager = Objects.requireNonNull(this.serviceContext.getDataManager(), "'Data manager' parameter"); FastTemplateLoader templateLoader = new FastTemplateLoader(); this.registry = templateLoader.loadFastTemplates(dataManager, dictionaryName.getPluginAlias(), fastTemplate); this.converter = new FastToIMessageConverter(msgFactory, msgDictionary); this.decoder = new FastToIMessageDecoder(converter, this.settings.getSkipInitialByteAmount()); }  @Override void init(
			IServiceContext serviceContext,
			ICommonSettings settings,
			IMessageFactory msgFactory, IDictionaryStructure dictionary); @Override void decode(IoSession session, IoBuffer in,
			ProtocolDecoderOutput out); @Override void encode(
			IoSession session,
			Object message,
			ProtocolEncoderOutput out);  }### Answer:
@Test public void testWrongTemplate() { FASTClientSettings settings = new FASTClientSettings(); IMessageFactory msgFactory = DefaultMessageFactory.getFactory(); FASTCodec codec = new FASTCodec(); try{ codec.init(serviceContext, settings, msgFactory, null); Assert.fail("dictionary parameter cannot ne null"); }catch(NullPointerException e){ Assert.assertEquals("'dictionary' parameter cannot be null",e.getMessage()); } }