/**
 * @author	STF 424_ITS_Test_Platform
 * @version    $URL:$
 *             $Id:$
 */
package org.etsi.its.codec.adapter.test;

import static org.junit.Assert.*;

import java.util.LinkedHashMap;
import java.util.logging.ConsoleHandler;
import java.util.logging.Level;
import java.util.logging.Logger;

import org.etsi.its.codec.TestAdapterMessageTypeEnum;
import org.etsi.its.codec.adapter.IType;
import org.etsi.its.codec.adapter.IValue;
import org.etsi.its.codec.adapter.UpperTesterCodecImpl;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

/**
 * This class provides the test units for UpperTesterCodecImpl methods
 *
 */
public class UpperTesterCodecImplTest {

	/**
	 * Logger instance
	 */
	final static Logger _logger = Logger.getLogger("org.etsi.its");

	/**
	 * The instance of the class UpperTesterCodecImpl
	 */
	private static UpperTesterCodecImpl _iut;

	/**
	 * The list of the messages to be tested
	 */
	private static LinkedHashMap<String, byte[]> _messages;

	/**
	 * The list of the responses expected for each tested message
	 */
	private static LinkedHashMap<
		String,								// Ut primitive messages
		LinkedHashMap<
			TestAdapterMessageTypeEnum,		// Type identifier
			byte[]>							// Type value
	> _responses;

	/**
	 * @throws java.lang.Exception
	 */
	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
		_logger.addHandler(new ConsoleHandler());
		_logger.setLevel(Level.ALL);
		_logger.getHandlers()[0].setLevel(Level.ALL);

		_iut = new UpperTesterCodecImpl();
		_messages = new LinkedHashMap<String, byte[]>();
		_responses = new LinkedHashMap<String, LinkedHashMap<TestAdapterMessageTypeEnum,byte[]>>();

		/*
		 * UtInitialize
		 */
		{
			// UtGnInitialize
			_messages.put("UtGnInitialize", new byte[] { (byte)0x20, (byte)0x00, (byte)0x03, (byte)0x25, (byte)0x00, (byte)0x00 });
			_responses.put("UtGnInitialize", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtGnInitialize").put(TestAdapterMessageTypeEnum.UtGNInitialize, new byte[] {});
			// UtBtpInitialize
			_messages.put("UtBtpInitialize", new byte[] { (byte)0x20, (byte)0x00, (byte)0x03, (byte)0x30, (byte)0x00, (byte)0x00 });
			_responses.put("UtBtpInitialize", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtBtpInitialize").put(TestAdapterMessageTypeEnum.UtBtpInitialize, new byte[] {});
			// UtCamInitialize
			_messages.put("UtCamInitialize", new byte[] { (byte)0x20, (byte)0x00, (byte)0x03, (byte)0x2e, (byte)0x00, (byte)0x00 });
			_responses.put("UtCamInitialize", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtCamInitialize").put(TestAdapterMessageTypeEnum.UtCamInitialize, new byte[] {});
			// UtDenmInitialize
			_messages.put("UtDenmInitialize", new byte[] { (byte)0x20, (byte)0x00, (byte)0x03, (byte)0x39, (byte)0x00, (byte)0x00 });
			_responses.put("UtDenmInitialize", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtDenmInitialize").put(TestAdapterMessageTypeEnum.UtDenmInitialize, new byte[] {});
		} // UtInitialize
		/*
		 * UtEvent
		 */
		{
			// GenerateGeoUnicastMessage
			_messages.put("GenerateGeoUnicastMessage", new byte[] { (byte)0x23, (byte)0x00, (byte)0x17, (byte)0x26, (byte)0x00, (byte)0x14, (byte)0x28, (byte)0x00, (byte)0x11, (byte)0x3c, (byte)0x00, (byte)0x08, (byte)0x94, (byte)0x21, (byte)0xa4, (byte)0xfe, (byte)0xde, (byte)0xca, (byte)0xbe, (byte)0xef, (byte)0x3e, (byte)0x00, (byte)0x00, (byte)0x3f, (byte)0x00, (byte)0x00 });
			_responses.put("GenerateGeoUnicastMessage", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("GenerateGeoUnicastMessage").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x26, (byte)0x00, (byte)0x14, (byte)0x28, (byte)0x00, (byte)0x11, (byte)0x3c, (byte)0x00, (byte)0x08, (byte)0x94, (byte)0x21, (byte)0xa4, (byte)0xfe, (byte)0xde, (byte)0xca, (byte)0xbe, (byte)0xef, (byte)0x3e, (byte)0x00, (byte)0x00, (byte)0x3f, (byte)0x00, (byte)0x00 });
			_responses.get("GenerateGeoUnicastMessage").put(TestAdapterMessageTypeEnum.UtGNEvent, new byte[] { (byte)0x28, (byte)0x00, (byte)0x11, (byte)0x3c, (byte)0x00, (byte)0x08, (byte)0x94, (byte)0x21, (byte)0xa4, (byte)0xfe, (byte)0xde, (byte)0xca, (byte)0xbe, (byte)0xef, (byte)0x3e, (byte)0x00, (byte)0x00, (byte)0x3f, (byte)0x00, (byte)0x00 });
			_responses.get("GenerateGeoUnicastMessage").put(TestAdapterMessageTypeEnum.GenerateGeoUnicastMessage, new byte[] { (byte)0x3c, (byte)0x00, (byte)0x08, (byte)0x94, (byte)0x21, (byte)0xa4, (byte)0xfe, (byte)0xde, (byte)0xca, (byte)0xbe, (byte)0xef, (byte)0x3e, (byte)0x00, (byte)0x00, (byte)0x3f, (byte)0x00, (byte)0x00 });
			_responses.get("GenerateGeoUnicastMessage").put(TestAdapterMessageTypeEnum.gnAddress, new byte[] { (byte)0x94, (byte)0x21, (byte)0xa4, (byte)0xfe, (byte)0xde, (byte)0xca, (byte)0xbe, (byte)0xef });
			_responses.get("GenerateGeoUnicastMessage").put(TestAdapterMessageTypeEnum.lifetime, new byte[] { });
			_responses.get("GenerateGeoUnicastMessage").put(TestAdapterMessageTypeEnum.payload, new byte[] { });
			// GenerateGeoUnicastMessage with lifetime
			_messages.put("GenerateGeoUnicastMessageWithLifetime", new byte[] { (byte)0x23, (byte)0x00, (byte)0x1b, (byte)0x26, (byte)0x00, (byte)0x18, (byte)0x28, (byte)0x00, (byte)0x15, (byte)0x3c, (byte)0x00, (byte)0x08, (byte)0x94, (byte)0x21, (byte)0xa4, (byte)0xfe, (byte)0xde, (byte)0xca, (byte)0xbe, (byte)0xef, (byte)0x3e, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x03, (byte)0xe8, (byte)0x3f, (byte)0x00, (byte)0x00 });
			_responses.put("GenerateGeoUnicastMessageWithLifetime", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("GenerateGeoUnicastMessageWithLifetime").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x26, (byte)0x00, (byte)0x18, (byte)0x28, (byte)0x00, (byte)0x15, (byte)0x3c, (byte)0x00, (byte)0x08, (byte)0x94, (byte)0x21, (byte)0xa4, (byte)0xfe, (byte)0xde, (byte)0xca, (byte)0xbe, (byte)0xef, (byte)0x3e, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x03, (byte)0xe8, (byte)0x3f, (byte)0x00, (byte)0x00 });
			_responses.get("GenerateGeoUnicastMessageWithLifetime").put(TestAdapterMessageTypeEnum.UtGNEvent, new byte[] { (byte)0x28, (byte)0x00, (byte)0x15, (byte)0x3c, (byte)0x00, (byte)0x08, (byte)0x94, (byte)0x21, (byte)0xa4, (byte)0xfe, (byte)0xde, (byte)0xca, (byte)0xbe, (byte)0xef, (byte)0x3e, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x03, (byte)0xe8, (byte)0x3f, (byte)0x00, (byte)0x00 });
			_responses.get("GenerateGeoUnicastMessageWithLifetime").put(TestAdapterMessageTypeEnum.GenerateGeoUnicastMessage, new byte[] { (byte)0x3c, (byte)0x00, (byte)0x08, (byte)0x94, (byte)0x21, (byte)0xa4, (byte)0xfe, (byte)0xde, (byte)0xca, (byte)0xbe, (byte)0xef, (byte)0x3e, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x03, (byte)0xe8, (byte)0x3f, (byte)0x00, (byte)0x00 });
			_responses.get("GenerateGeoUnicastMessageWithLifetime").put(TestAdapterMessageTypeEnum.gnAddress, new byte[] { (byte)0x94, (byte)0x21, (byte)0xa4, (byte)0xfe, (byte)0xde, (byte)0xca, (byte)0xbe, (byte)0xef });
			_responses.get("GenerateGeoUnicastMessageWithLifetime").put(TestAdapterMessageTypeEnum.lifetime, new byte[] { (byte)0x00, (byte)0x00, (byte)0x03, (byte)0xe8 });
			_responses.get("GenerateGeoUnicastMessageWithLifetime").put(TestAdapterMessageTypeEnum.payload, new byte[] { });
			// GenerateGeoUnicastMessage with payload
			_messages.put("GenerateGeoUnicastMessageWithPayload", new byte[] { (byte)0x23, (byte)0x00, (byte)0x20, (byte)0x26, (byte)0x00, (byte)0x1d, (byte)0x28, (byte)0x00, (byte)0x1a, (byte)0x3c, (byte)0x00, (byte)0x08, (byte)0x94, (byte)0x21, (byte)0xa4, (byte)0xfe, (byte)0xde, (byte)0xca, (byte)0xbe, (byte)0xef, (byte)0x3e, (byte)0x00, (byte)0x00, (byte)0x3f, (byte)0x00, (byte)0x09, (byte)0x50, (byte)0x41, (byte)0x59, (byte)0x4c, (byte)0x4f, (byte)0x41, (byte)0x44, (byte)0x5f, (byte)0x31 });
			_responses.put("GenerateGeoUnicastMessageWithPayload", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("GenerateGeoUnicastMessageWithPayload").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x26, (byte)0x00, (byte)0x1d, (byte)0x28, (byte)0x00, (byte)0x1a, (byte)0x3c, (byte)0x00, (byte)0x08, (byte)0x94, (byte)0x21, (byte)0xa4, (byte)0xfe, (byte)0xde, (byte)0xca, (byte)0xbe, (byte)0xef, (byte)0x3e, (byte)0x00, (byte)0x00, (byte)0x3f, (byte)0x00, (byte)0x09, (byte)0x50, (byte)0x41, (byte)0x59, (byte)0x4c, (byte)0x4f, (byte)0x41, (byte)0x44, (byte)0x5f, (byte)0x31 });
			_responses.get("GenerateGeoUnicastMessageWithPayload").put(TestAdapterMessageTypeEnum.UtGNEvent, new byte[] { (byte)0x28, (byte)0x00, (byte)0x1a, (byte)0x3c, (byte)0x00, (byte)0x08, (byte)0x94, (byte)0x21, (byte)0xa4, (byte)0xfe, (byte)0xde, (byte)0xca, (byte)0xbe, (byte)0xef, (byte)0x3e, (byte)0x00, (byte)0x00, (byte)0x3f, (byte)0x00, (byte)0x09, (byte)0x50, (byte)0x41, (byte)0x59, (byte)0x4c, (byte)0x4f, (byte)0x41, (byte)0x44, (byte)0x5f, (byte)0x31 });
			_responses.get("GenerateGeoUnicastMessageWithPayload").put(TestAdapterMessageTypeEnum.GenerateGeoUnicastMessage, new byte[] { (byte)0x3c, (byte)0x00, (byte)0x08, (byte)0x94, (byte)0x21, (byte)0xa4, (byte)0xfe, (byte)0xde, (byte)0xca, (byte)0xbe, (byte)0xef, (byte)0x3e, (byte)0x00, (byte)0x00, (byte)0x3f, (byte)0x00, (byte)0x09, (byte)0x50, (byte)0x41, (byte)0x59, (byte)0x4c, (byte)0x4f, (byte)0x41, (byte)0x44, (byte)0x5f, (byte)0x31 });
			_responses.get("GenerateGeoUnicastMessageWithPayload").put(TestAdapterMessageTypeEnum.gnAddress, new byte[] { (byte)0x94, (byte)0x21, (byte)0xa4, (byte)0xfe, (byte)0xde, (byte)0xca, (byte)0xbe, (byte)0xef });
			_responses.get("GenerateGeoUnicastMessageWithPayload").put(TestAdapterMessageTypeEnum.lifetime, new byte[] { });
			_responses.get("GenerateGeoUnicastMessageWithPayload").put(TestAdapterMessageTypeEnum.payload, new byte[] { (byte)0x50, (byte)0x41, (byte)0x59, (byte)0x4c, (byte)0x4f, (byte)0x41, (byte)0x44, (byte)0x5f, (byte)0x31 });
			// GenerateGeoAnycastMessage
			_messages.put("GenerateGeoAnycastMessage", new byte[] { (byte)0x23, (byte)0x00, (byte)0x36, (byte)0x26, (byte)0x00, (byte)0x33, (byte)0x2a, (byte)0x00, (byte)0x30, (byte)0x3d, (byte)0x00, (byte)0x2a, (byte)0x5e, (byte)0x00, (byte)0x27, (byte)0x60, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x5f, (byte)0x00, (byte)0x1d, (byte)0x65, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x66, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x61, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x62, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x63, (byte)0x00, (byte)0x02, (byte)0x00, (byte)0x00, (byte)0x3f, (byte)0x00, (byte)0x00 });
			_responses.put("GenerateGeoAnycastMessage", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("GenerateGeoAnycastMessage").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x26, (byte)0x00, (byte)0x33, (byte)0x2a, (byte)0x00, (byte)0x30, (byte)0x3d, (byte)0x00, (byte)0x2a, (byte)0x5e, (byte)0x00, (byte)0x27, (byte)0x60, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x5f, (byte)0x00, (byte)0x1d, (byte)0x65, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x66, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x61, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x62, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x63, (byte)0x00, (byte)0x02, (byte)0x00, (byte)0x00, (byte)0x3f, (byte)0x00, (byte)0x00 });
			_responses.get("GenerateGeoAnycastMessage").put(TestAdapterMessageTypeEnum.UtGNEvent, new byte[] { (byte)0x2a, (byte)0x00, (byte)0x30, (byte)0x3d, (byte)0x00, (byte)0x2a, (byte)0x5e, (byte)0x00, (byte)0x27, (byte)0x60, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x5f, (byte)0x00, (byte)0x1d, (byte)0x65, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x66, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x61, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x62, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x63, (byte)0x00, (byte)0x02, (byte)0x00, (byte)0x00, (byte)0x3f, (byte)0x00, (byte)0x00 });
			_responses.get("GenerateGeoAnycastMessage").put(TestAdapterMessageTypeEnum.GenerateGeoAnycastMessage, new byte[] { (byte)0x3d, (byte)0x00, (byte)0x2a, (byte)0x5e, (byte)0x00, (byte)0x27, (byte)0x60, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x5f, (byte)0x00, (byte)0x1d, (byte)0x65, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x66, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x61, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x62, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x63, (byte)0x00, (byte)0x02, (byte)0x00, (byte)0x00, (byte)0x3f, (byte)0x00, (byte)0x00 });
			_responses.get("GenerateGeoAnycastMessage").put(TestAdapterMessageTypeEnum.GeoArea, new byte[] { (byte)0x60, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x5f, (byte)0x00, (byte)0x1d, (byte)0x65, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x66, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x61, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x62, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x63, (byte)0x00, (byte)0x02, (byte)0x00, (byte)0x00 });
			_responses.get("GenerateGeoAnycastMessage").put(TestAdapterMessageTypeEnum.shape, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("GenerateGeoAnycastMessage").put(TestAdapterMessageTypeEnum.Area, new byte[] { (byte)0x65, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x66, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x61, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x62, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x63, (byte)0x00, (byte)0x02, (byte)0x00, (byte)0x00 });
			_responses.get("GenerateGeoAnycastMessage").put(TestAdapterMessageTypeEnum.geoAreaPosLatitude, new byte[] { (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff });
			_responses.get("GenerateGeoAnycastMessage").put(TestAdapterMessageTypeEnum.geoAreaPosLongitude, new byte[] { (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff });
			_responses.get("GenerateGeoAnycastMessage").put(TestAdapterMessageTypeEnum.distanceA, new byte[] { (byte)0xff, (byte)0xff });
			_responses.get("GenerateGeoAnycastMessage").put(TestAdapterMessageTypeEnum.distanceB, new byte[] { (byte)0xff, (byte)0xff });
			_responses.get("GenerateGeoAnycastMessage").put(TestAdapterMessageTypeEnum.angle, new byte[] { (byte)0x00, (byte)0x00 });
			_responses.get("GenerateGeoAnycastMessage").put(TestAdapterMessageTypeEnum.payload, new byte[] { });
			// GenerateGeoAnycastMessage with payload
			_messages.put("GenerateGeoAnycastMessageWithPayload", new byte[] { (byte)0x23, (byte)0x00, (byte)0x3d, (byte)0x26, (byte)0x00, (byte)0x3a, (byte)0x2a, (byte)0x00, (byte)0x37, (byte)0x3d, (byte)0x00, (byte)0x2a, (byte)0x5e, (byte)0x00, (byte)0x27, (byte)0x60, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x5f, (byte)0x00, (byte)0x1d, (byte)0x65, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x66, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x61, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x62, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x63, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x3f, (byte)0x00, (byte)0x07, (byte)0x50, (byte)0x41, (byte)0x59, (byte)0x4c, (byte)0x4f, (byte)0x41, (byte)0x44 });
			_responses.put("GenerateGeoAnycastMessageWithPayload", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("GenerateGeoAnycastMessageWithPayload").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x26, (byte)0x00, (byte)0x3a, (byte)0x2a, (byte)0x00, (byte)0x37, (byte)0x3d, (byte)0x00, (byte)0x2a, (byte)0x5e, (byte)0x00, (byte)0x27, (byte)0x60, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x5f, (byte)0x00, (byte)0x1d, (byte)0x65, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x66, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x61, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x62, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x63, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x3f, (byte)0x00, (byte)0x07, (byte)0x50, (byte)0x41, (byte)0x59, (byte)0x4c, (byte)0x4f, (byte)0x41, (byte)0x44 });
			_responses.get("GenerateGeoAnycastMessageWithPayload").put(TestAdapterMessageTypeEnum.UtGNEvent, new byte[] { (byte)0x2a, (byte)0x00, (byte)0x37, (byte)0x3d, (byte)0x00, (byte)0x2a, (byte)0x5e, (byte)0x00, (byte)0x27, (byte)0x60, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x5f, (byte)0x00, (byte)0x1d, (byte)0x65, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x66, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x61, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x62, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x63, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x3f, (byte)0x00, (byte)0x07, (byte)0x50, (byte)0x41, (byte)0x59, (byte)0x4c, (byte)0x4f, (byte)0x41, (byte)0x44 });
			_responses.get("GenerateGeoAnycastMessageWithPayload").put(TestAdapterMessageTypeEnum.GenerateGeoAnycastMessage, new byte[] { (byte)0x3d, (byte)0x00, (byte)0x2a, (byte)0x5e, (byte)0x00, (byte)0x27, (byte)0x60, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x5f, (byte)0x00, (byte)0x1d, (byte)0x65, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x66, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x61, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x62, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x63, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x3f, (byte)0x00, (byte)0x07, (byte)0x50, (byte)0x41, (byte)0x59, (byte)0x4c, (byte)0x4f, (byte)0x41, (byte)0x44 });
			_responses.get("GenerateGeoAnycastMessageWithPayload").put(TestAdapterMessageTypeEnum.GeoArea, new byte[] { (byte)0x60, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x5f, (byte)0x00, (byte)0x1d, (byte)0x65, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x66, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x61, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x62, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x63, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff });
			_responses.get("GenerateGeoAnycastMessageWithPayload").put(TestAdapterMessageTypeEnum.shape, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("GenerateGeoAnycastMessageWithPayload").put(TestAdapterMessageTypeEnum.Area, new byte[] { (byte)0x65, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x66, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x61, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x62, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x63, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff });
			_responses.get("GenerateGeoAnycastMessageWithPayload").put(TestAdapterMessageTypeEnum.geoAreaPosLatitude, new byte[] { (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff });
			_responses.get("GenerateGeoAnycastMessageWithPayload").put(TestAdapterMessageTypeEnum.geoAreaPosLongitude, new byte[] { (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff });
			_responses.get("GenerateGeoAnycastMessageWithPayload").put(TestAdapterMessageTypeEnum.distanceA, new byte[] { (byte)0xff, (byte)0xff });
			_responses.get("GenerateGeoAnycastMessageWithPayload").put(TestAdapterMessageTypeEnum.distanceB, new byte[] { (byte)0xff, (byte)0xff });
			_responses.get("GenerateGeoAnycastMessageWithPayload").put(TestAdapterMessageTypeEnum.angle, new byte[] { (byte)0xff, (byte)0xff });
			_responses.get("GenerateGeoAnycastMessageWithPayload").put(TestAdapterMessageTypeEnum.payload, new byte[] { (byte)0x50, (byte)0x41, (byte)0x59, (byte)0x4c, (byte)0x4f, (byte)0x41, (byte)0x44 });
			// GenerateGeoBroadcastMessage
			_messages.put("GenerateGeoBroadcastMessage", new byte[] { (byte)0x23, (byte)0x00, (byte)0x36, (byte)0x26, (byte)0x00, (byte)0x33, (byte)0x29, (byte)0x00, (byte)0x30, (byte)0x3d, (byte)0x00, (byte)0x2a, (byte)0x5e, (byte)0x00, (byte)0x27, (byte)0x60, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x5f, (byte)0x00, (byte)0x1d, (byte)0x65, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x66, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x61, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x62, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x63, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x3f, (byte)0x00, (byte)0x00 });
			_responses.put("GenerateGeoBroadcastMessage", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("GenerateGeoBroadcastMessage").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x26, (byte)0x00, (byte)0x33, (byte)0x29, (byte)0x00, (byte)0x30, (byte)0x3d, (byte)0x00, (byte)0x2a, (byte)0x5e, (byte)0x00, (byte)0x27, (byte)0x60, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x5f, (byte)0x00, (byte)0x1d, (byte)0x65, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x66, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x61, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x62, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x63, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x3f, (byte)0x00, (byte)0x00 });
			_responses.get("GenerateGeoBroadcastMessage").put(TestAdapterMessageTypeEnum.UtGNEvent, new byte[] { (byte)0x29, (byte)0x00, (byte)0x30, (byte)0x3d, (byte)0x00, (byte)0x2a, (byte)0x5e, (byte)0x00, (byte)0x27, (byte)0x60, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x5f, (byte)0x00, (byte)0x1d, (byte)0x65, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x66, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x61, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x62, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x63, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x3f, (byte)0x00, (byte)0x00 });
			_responses.get("GenerateGeoBroadcastMessage").put(TestAdapterMessageTypeEnum.GenerateGeoBroadcastMessage, new byte[] { (byte)0x3d, (byte)0x00, (byte)0x2a, (byte)0x5e, (byte)0x00, (byte)0x27, (byte)0x60, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x5f, (byte)0x00, (byte)0x1d, (byte)0x65, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x66, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x61, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x62, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x63, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x3f, (byte)0x00, (byte)0x00 });
			_responses.get("GenerateGeoBroadcastMessage").put(TestAdapterMessageTypeEnum.GeoArea, new byte[] { (byte)0x60, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x5f, (byte)0x00, (byte)0x1d, (byte)0x65, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x66, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x61, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x62, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x63, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff });
			_responses.get("GenerateGeoBroadcastMessage").put(TestAdapterMessageTypeEnum.shape, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("GenerateGeoBroadcastMessage").put(TestAdapterMessageTypeEnum.Area, new byte[] { (byte)0x65, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x66, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x61, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x62, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x63, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff });
			_responses.get("GenerateGeoBroadcastMessage").put(TestAdapterMessageTypeEnum.geoAreaPosLatitude, new byte[] { (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff });
			_responses.get("GenerateGeoBroadcastMessage").put(TestAdapterMessageTypeEnum.geoAreaPosLongitude, new byte[] { (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff });
			_responses.get("GenerateGeoBroadcastMessage").put(TestAdapterMessageTypeEnum.distanceA, new byte[] { (byte)0xff, (byte)0xff });
			_responses.get("GenerateGeoBroadcastMessage").put(TestAdapterMessageTypeEnum.distanceB, new byte[] { (byte)0xff, (byte)0xff });
			_responses.get("GenerateGeoBroadcastMessage").put(TestAdapterMessageTypeEnum.angle, new byte[] { (byte)0xff, (byte)0xff });
			_responses.get("GenerateGeoBroadcastMessage").put(TestAdapterMessageTypeEnum.payload, new byte[] { });
			// GenerateGeoBroadcastMessage with payload
			_messages.put("GenerateGeoBroadcastMessageWithPayload", new byte[] { (byte)0x23, (byte)0x00, (byte)0x3d, (byte)0x26, (byte)0x00, (byte)0x3a, (byte)0x29, (byte)0x00, (byte)0x37, (byte)0x3d, (byte)0x00, (byte)0x2a, (byte)0x5e, (byte)0x00, (byte)0x27, (byte)0x60, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x5f, (byte)0x00, (byte)0x1d, (byte)0x65, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x66, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x61, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x62, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x63, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x3f, (byte)0x00, (byte)0x07, (byte)0x50, (byte)0x41, (byte)0x59, (byte)0x4c, (byte)0x4f, (byte)0x41, (byte)0x44 });
			_responses.put("GenerateGeoBroadcastMessageWithPayload", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("GenerateGeoBroadcastMessageWithPayload").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x26, (byte)0x00, (byte)0x3a, (byte)0x29, (byte)0x00, (byte)0x37, (byte)0x3d, (byte)0x00, (byte)0x2a, (byte)0x5e, (byte)0x00, (byte)0x27, (byte)0x60, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x5f, (byte)0x00, (byte)0x1d, (byte)0x65, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x66, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x61, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x62, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x63, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x3f, (byte)0x00, (byte)0x07, (byte)0x50, (byte)0x41, (byte)0x59, (byte)0x4c, (byte)0x4f, (byte)0x41, (byte)0x44 });
			_responses.get("GenerateGeoBroadcastMessageWithPayload").put(TestAdapterMessageTypeEnum.UtGNEvent, new byte[] { (byte)0x29, (byte)0x00, (byte)0x37, (byte)0x3d, (byte)0x00, (byte)0x2a, (byte)0x5e, (byte)0x00, (byte)0x27, (byte)0x60, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x5f, (byte)0x00, (byte)0x1d, (byte)0x65, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x66, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x61, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x62, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x63, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x3f, (byte)0x00, (byte)0x07, (byte)0x50, (byte)0x41, (byte)0x59, (byte)0x4c, (byte)0x4f, (byte)0x41, (byte)0x44 });
			_responses.get("GenerateGeoBroadcastMessageWithPayload").put(TestAdapterMessageTypeEnum.GenerateGeoBroadcastMessage, new byte[] { (byte)0x3d, (byte)0x00, (byte)0x2a, (byte)0x5e, (byte)0x00, (byte)0x27, (byte)0x60, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x5f, (byte)0x00, (byte)0x1d, (byte)0x65, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x66, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x61, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x62, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x63, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x3f, (byte)0x00, (byte)0x07, (byte)0x50, (byte)0x41, (byte)0x59, (byte)0x4c, (byte)0x4f, (byte)0x41, (byte)0x44 });
			_responses.get("GenerateGeoBroadcastMessageWithPayload").put(TestAdapterMessageTypeEnum.GeoArea, new byte[] { (byte)0x60, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x5f, (byte)0x00, (byte)0x1d, (byte)0x65, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x66, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x61, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x62, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x63, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff });
			_responses.get("GenerateGeoBroadcastMessageWithPayload").put(TestAdapterMessageTypeEnum.shape, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("GenerateGeoBroadcastMessageWithPayload").put(TestAdapterMessageTypeEnum.Area, new byte[] { (byte)0x65, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x66, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x61, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x62, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff, (byte)0x63, (byte)0x00, (byte)0x02, (byte)0xff, (byte)0xff });
			_responses.get("GenerateGeoBroadcastMessageWithPayload").put(TestAdapterMessageTypeEnum.geoAreaPosLatitude, new byte[] { (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff });
			_responses.get("GenerateGeoBroadcastMessageWithPayload").put(TestAdapterMessageTypeEnum.geoAreaPosLongitude, new byte[] { (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff });
			_responses.get("GenerateGeoBroadcastMessageWithPayload").put(TestAdapterMessageTypeEnum.distanceA, new byte[] { (byte)0xff, (byte)0xff });
			_responses.get("GenerateGeoBroadcastMessageWithPayload").put(TestAdapterMessageTypeEnum.distanceB, new byte[] { (byte)0xff, (byte)0xff });
			_responses.get("GenerateGeoBroadcastMessageWithPayload").put(TestAdapterMessageTypeEnum.angle, new byte[] { (byte)0xff, (byte)0xff });
			_responses.get("GenerateGeoBroadcastMessageWithPayload").put(TestAdapterMessageTypeEnum.payload, new byte[] { (byte)0x50, (byte)0x41, (byte)0x59, (byte)0x4c, (byte)0x4f, (byte)0x41, (byte)0x44 });
			// GenerateSHBMessage
			_messages.put("GenerateSHBMessage", new byte[] { (byte)0x23, (byte)0x00, (byte)0x09, (byte)0x26, (byte)0x00, (byte)0x06, (byte)0x2b, (byte)0x00, (byte)0x03, (byte)0x3f, (byte)0x00, (byte)0x00 });
			_responses.put("GenerateSHBMessage", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("GenerateSHBMessage").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x26, (byte)0x00, (byte)0x06, (byte)0x2b, (byte)0x00, (byte)0x03, (byte)0x3f, (byte)0x00, (byte)0x00 });
			_responses.get("GenerateSHBMessage").put(TestAdapterMessageTypeEnum.UtGNEvent, new byte[] { (byte)0x2b, (byte)0x00, (byte)0x03, (byte)0x3f, (byte)0x00, (byte)0x00 });
			_responses.get("GenerateSHBMessage").put(TestAdapterMessageTypeEnum.GenerateSHBMessage, new byte[] { (byte)0x3f, (byte)0x00, (byte)0x00 });
			_responses.get("GenerateSHBMessage").put(TestAdapterMessageTypeEnum.payload, new byte[] { });
			// GenerateSHBMessage with payload
			_messages.put("GenerateSHBMessageWithPayload", new byte[] { (byte)0x23, (byte)0x00, (byte)0x10, (byte)0x26, (byte)0x00, (byte)0x0d, (byte)0x2b, (byte)0x00, (byte)0x0a, (byte)0x3f, (byte)0x00, (byte)0x07, (byte)0x50, (byte)0x41, (byte)0x59, (byte)0x4c, (byte)0x4f, (byte)0x41, (byte)0x44 });
			_responses.put("GenerateSHBMessageWithPayload", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("GenerateSHBMessageWithPayload").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x26, (byte)0x00, (byte)0x0d, (byte)0x2b, (byte)0x00, (byte)0x0a, (byte)0x3f, (byte)0x00, (byte)0x07, (byte)0x50, (byte)0x41, (byte)0x59, (byte)0x4c, (byte)0x4f, (byte)0x41, (byte)0x44 });
			_responses.get("GenerateSHBMessageWithPayload").put(TestAdapterMessageTypeEnum.UtGNEvent, new byte[] { (byte)0x2b, (byte)0x00, (byte)0x0a, (byte)0x3f, (byte)0x00, (byte)0x07, (byte)0x50, (byte)0x41, (byte)0x59, (byte)0x4c, (byte)0x4f, (byte)0x41, (byte)0x44 });
			_responses.get("GenerateSHBMessageWithPayload").put(TestAdapterMessageTypeEnum.GenerateSHBMessage, new byte[] { (byte)0x3f, (byte)0x00, (byte)0x07, (byte)0x50, (byte)0x41, (byte)0x59, (byte)0x4c, (byte)0x4f, (byte)0x41, (byte)0x44 });
			_responses.get("GenerateSHBMessageWithPayload").put(TestAdapterMessageTypeEnum.payload, new byte[] { (byte)0x50, (byte)0x41, (byte)0x59, (byte)0x4c, (byte)0x4f, (byte)0x41, (byte)0x44 });
			// GenerateTSBMessage
			_messages.put("GenerateTSBMessage", new byte[] { (byte)0x23, (byte)0x00, (byte)0x09, (byte)0x26, (byte)0x00, (byte)0x06, (byte)0x2c, (byte)0x00, (byte)0x03, (byte)0x3f, (byte)0x00, (byte)0x00 });
			_responses.put("GenerateTSBMessage", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("GenerateTSBMessage").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x26, (byte)0x00, (byte)0x06, (byte)0x2c, (byte)0x00, (byte)0x03, (byte)0x3f, (byte)0x00, (byte)0x00 });
			_responses.get("GenerateTSBMessage").put(TestAdapterMessageTypeEnum.UtGNEvent, new byte[] { (byte)0x2c, (byte)0x00, (byte)0x03, (byte)0x3f, (byte)0x00, (byte)0x00 });
			_responses.get("GenerateTSBMessage").put(TestAdapterMessageTypeEnum.GenerateTSBMessage, new byte[] { (byte)0x3f, (byte)0x00, (byte)0x00 });
			_responses.get("GenerateTSBMessage").put(TestAdapterMessageTypeEnum.payload, new byte[] { });
			// ChangePosition
			_messages.put("ChangePosition", new byte[] { (byte)0x23, (byte)0x00, (byte)0x06, (byte)0x26, (byte)0x00, (byte)0x03, (byte)0x2d, (byte)0x00, (byte)0x00 });
			_responses.put("ChangePosition", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("ChangePosition").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x26, (byte)0x00, (byte)0x03, (byte)0x2d, (byte)0x00, (byte)0x00 });
			_responses.get("ChangePosition").put(TestAdapterMessageTypeEnum.UtGNEvent, new byte[] { (byte)0x2d, (byte)0x00, (byte)0x00 });
			_responses.get("ChangePosition").put(TestAdapterMessageTypeEnum.ChangePosition, new byte[] { });
			// GeoNetworkingPacket
			_messages.put("GeoNetworkingPacket", new byte[] { (byte)0x23, (byte)0x00, (byte)0x5e, (byte)0x26, (byte)0x00, (byte)0x5b, (byte)0x27, (byte)0x00, (byte)0x58, (byte)0x02, (byte)0x20, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x0a, (byte)0x94, (byte)0x21, (byte)0xa4, (byte)0xfe, (byte)0xde, (byte)0xca, (byte)0xbe, (byte)0xef, (byte)0x00, (byte)0x01, (byte)0xe2, (byte)0x40, (byte)0x00, (byte)0x00, (byte)0x12, (byte)0xf8, (byte)0x00, (byte)0x00, (byte)0x02, (byte)0xa3, (byte)0x00, (byte)0x37, (byte)0x26, (byte)0x94, (byte)0x02, (byte)0x0e, (byte)0x62, (byte)0x48, (byte)0xff, (byte)0xff, (byte)0x29, (byte)0x00, (byte)0x94, (byte)0x21, (byte)0xa4, (byte)0xfe, (byte)0xde, (byte)0xca, (byte)0xbe, (byte)0xef, (byte)0x00, (byte)0x01, (byte)0xe2, (byte)0x40, (byte)0x00, (byte)0x00, (byte)0x12, (byte)0xf8, (byte)0x00, (byte)0x00, (byte)0x02, (byte)0xa3, (byte)0x00, (byte)0x37, (byte)0x26, (byte)0x94, (byte)0x02, (byte)0x0e, (byte)0x62, (byte)0x48, (byte)0x94, (byte)0x21, (byte)0xa4, (byte)0xfe, (byte)0xde, (byte)0xca, (byte)0xbe, (byte)0xef, (byte)0x00, (byte)0x01, (byte)0xe2, (byte)0x40, (byte)0x00, (byte)0x00, (byte)0x12, (byte)0xf8, (byte)0x00, (byte)0x00, (byte)0x02, (byte)0xa3 });
			_responses.put("GeoNetworkingPacket", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("GeoNetworkingPacket").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x26, (byte)0x00, (byte)0x5b, (byte)0x27, (byte)0x00, (byte)0x58, (byte)0x02, (byte)0x20, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x0a, (byte)0x94, (byte)0x21, (byte)0xa4, (byte)0xfe, (byte)0xde, (byte)0xca, (byte)0xbe, (byte)0xef, (byte)0x00, (byte)0x01, (byte)0xe2, (byte)0x40, (byte)0x00, (byte)0x00, (byte)0x12, (byte)0xf8, (byte)0x00, (byte)0x00, (byte)0x02, (byte)0xa3, (byte)0x00, (byte)0x37, (byte)0x26, (byte)0x94, (byte)0x02, (byte)0x0e, (byte)0x62, (byte)0x48, (byte)0xff, (byte)0xff, (byte)0x29, (byte)0x00, (byte)0x94, (byte)0x21, (byte)0xa4, (byte)0xfe, (byte)0xde, (byte)0xca, (byte)0xbe, (byte)0xef, (byte)0x00, (byte)0x01, (byte)0xe2, (byte)0x40, (byte)0x00, (byte)0x00, (byte)0x12, (byte)0xf8, (byte)0x00, (byte)0x00, (byte)0x02, (byte)0xa3, (byte)0x00, (byte)0x37, (byte)0x26, (byte)0x94, (byte)0x02, (byte)0x0e, (byte)0x62, (byte)0x48, (byte)0x94, (byte)0x21, (byte)0xa4, (byte)0xfe, (byte)0xde, (byte)0xca, (byte)0xbe, (byte)0xef, (byte)0x00, (byte)0x01, (byte)0xe2, (byte)0x40, (byte)0x00, (byte)0x00, (byte)0x12, (byte)0xf8, (byte)0x00, (byte)0x00, (byte)0x02, (byte)0xa3 });
			_responses.get("GeoNetworkingPacket").put(TestAdapterMessageTypeEnum.UtGNEvent, new byte[] { (byte)0x27, (byte)0x00, (byte)0x58, (byte)0x02, (byte)0x20, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x0a, (byte)0x94, (byte)0x21, (byte)0xa4, (byte)0xfe, (byte)0xde, (byte)0xca, (byte)0xbe, (byte)0xef, (byte)0x00, (byte)0x01, (byte)0xe2, (byte)0x40, (byte)0x00, (byte)0x00, (byte)0x12, (byte)0xf8, (byte)0x00, (byte)0x00, (byte)0x02, (byte)0xa3, (byte)0x00, (byte)0x37, (byte)0x26, (byte)0x94, (byte)0x02, (byte)0x0e, (byte)0x62, (byte)0x48, (byte)0xff, (byte)0xff, (byte)0x29, (byte)0x00, (byte)0x94, (byte)0x21, (byte)0xa4, (byte)0xfe, (byte)0xde, (byte)0xca, (byte)0xbe, (byte)0xef, (byte)0x00, (byte)0x01, (byte)0xe2, (byte)0x40, (byte)0x00, (byte)0x00, (byte)0x12, (byte)0xf8, (byte)0x00, (byte)0x00, (byte)0x02, (byte)0xa3, (byte)0x00, (byte)0x37, (byte)0x26, (byte)0x94, (byte)0x02, (byte)0x0e, (byte)0x62, (byte)0x48, (byte)0x94, (byte)0x21, (byte)0xa4, (byte)0xfe, (byte)0xde, (byte)0xca, (byte)0xbe, (byte)0xef, (byte)0x00, (byte)0x01, (byte)0xe2, (byte)0x40, (byte)0x00, (byte)0x00, (byte)0x12, (byte)0xf8, (byte)0x00, (byte)0x00, (byte)0x02, (byte)0xa3 });
			_responses.get("GeoNetworkingPacket").put(TestAdapterMessageTypeEnum.GeoNetworkingPacket, new byte[] { (byte)0x02, (byte)0x20, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x0a, (byte)0x94, (byte)0x21, (byte)0xa4, (byte)0xfe, (byte)0xde, (byte)0xca, (byte)0xbe, (byte)0xef, (byte)0x00, (byte)0x01, (byte)0xe2, (byte)0x40, (byte)0x00, (byte)0x00, (byte)0x12, (byte)0xf8, (byte)0x00, (byte)0x00, (byte)0x02, (byte)0xa3, (byte)0x00, (byte)0x37, (byte)0x26, (byte)0x94, (byte)0x02, (byte)0x0e, (byte)0x62, (byte)0x48, (byte)0xff, (byte)0xff, (byte)0x29, (byte)0x00, (byte)0x94, (byte)0x21, (byte)0xa4, (byte)0xfe, (byte)0xde, (byte)0xca, (byte)0xbe, (byte)0xef, (byte)0x00, (byte)0x01, (byte)0xe2, (byte)0x40, (byte)0x00, (byte)0x00, (byte)0x12, (byte)0xf8, (byte)0x00, (byte)0x00, (byte)0x02, (byte)0xa3, (byte)0x00, (byte)0x37, (byte)0x26, (byte)0x94, (byte)0x02, (byte)0x0e, (byte)0x62, (byte)0x48, (byte)0x94, (byte)0x21, (byte)0xa4, (byte)0xfe, (byte)0xde, (byte)0xca, (byte)0xbe, (byte)0xef, (byte)0x00, (byte)0x01, (byte)0xe2, (byte)0x40, (byte)0x00, (byte)0x00, (byte)0x12, (byte)0xf8, (byte)0x00, (byte)0x00, (byte)0x02, (byte)0xa3 });

			// BtpAHeader
			_messages.put("BtpAHeader", new byte[] { (byte)0x23, (byte)0x00, (byte)0x10, (byte)0x31, (byte)0x00, (byte)0x0d, (byte)0x32, (byte)0x00, (byte)0x0a, (byte)0x35, (byte)0x00, (byte)0x02, (byte)0x04, (byte)0xd2, (byte)0x36, (byte)0x00, (byte)0x02, (byte)0x16, (byte)0x2e });
			_responses.put("BtpAHeader", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("BtpAHeader").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x31, (byte)0x00, (byte)0x0d, (byte)0x32, (byte)0x00, (byte)0x0a, (byte)0x35, (byte)0x00, (byte)0x02, (byte)0x04, (byte)0xd2, (byte)0x36, (byte)0x00, (byte)0x02, (byte)0x16, (byte)0x2e });
			_responses.get("BtpAHeader").put(TestAdapterMessageTypeEnum.UtBtpEvent, new byte[] { (byte)0x32, (byte)0x00, (byte)0x0a, (byte)0x35, (byte)0x00, (byte)0x02, (byte)0x04, (byte)0xd2, (byte)0x36, (byte)0x00, (byte)0x02, (byte)0x16, (byte)0x2e });
			_responses.get("BtpAHeader").put(TestAdapterMessageTypeEnum.BtpAHeader, new byte[] { (byte)0x35, (byte)0x00, (byte)0x02, (byte)0x04, (byte)0xd2, (byte)0x36, (byte)0x00, (byte)0x02, (byte)0x16, (byte)0x2e });
			_responses.get("BtpAHeader").put(TestAdapterMessageTypeEnum.destinationPort, new byte[] { (byte)0x04, (byte)0xd2 });
			_responses.get("BtpAHeader").put(TestAdapterMessageTypeEnum.sourcePort, new byte[] { (byte)0x16, (byte)0x2e });
			// BtpBHeader
			_messages.put("BtpBHeader", new byte[] { (byte)0x23, (byte)0x00, (byte)0x10, (byte)0x31, (byte)0x00, (byte)0x0d, (byte)0x33, (byte)0x00, (byte)0x0a, (byte)0x35, (byte)0x00, (byte)0x02, (byte)0x00, (byte)0x7b, (byte)0x37, (byte)0x00, (byte)0x02, (byte)0x01, (byte)0xb0 });
			_responses.put("BtpBHeader", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("BtpBHeader").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x31, (byte)0x00, (byte)0x0d, (byte)0x33, (byte)0x00, (byte)0x0a, (byte)0x35, (byte)0x00, (byte)0x02, (byte)0x00, (byte)0x7b, (byte)0x37, (byte)0x00, (byte)0x02, (byte)0x01, (byte)0xb0 });
			_responses.get("BtpBHeader").put(TestAdapterMessageTypeEnum.UtBtpEvent, new byte[] { (byte)0x33, (byte)0x00, (byte)0x0a, (byte)0x35, (byte)0x00, (byte)0x02, (byte)0x00, (byte)0x7b, (byte)0x37, (byte)0x00, (byte)0x02, (byte)0x01, (byte)0xb0 });
			_responses.get("BtpBHeader").put(TestAdapterMessageTypeEnum.BtpBHeader, new byte[] { (byte)0x35, (byte)0x00, (byte)0x02, (byte)0x00, (byte)0x7b, (byte)0x37, (byte)0x00, (byte)0x02, (byte)0x01, (byte)0xb0 });
			_responses.get("BtpBHeader").put(TestAdapterMessageTypeEnum.destinationPort, new byte[] { (byte)0x00, (byte)0x7b });
			_responses.get("BtpBHeader").put(TestAdapterMessageTypeEnum.destinationPortInfo, new byte[] { (byte)0x01, (byte)0xb0 });
			// BtpPayload
			_messages.put("BtpPayload", new byte[] { (byte)0x23, (byte)0x00, (byte)0x0a, (byte)0x31, (byte)0x00, (byte)0x07, (byte)0x38, (byte)0x00, (byte)0x04, (byte)0xf0, (byte)0x05, (byte)0xba, (byte)0x11 });
			_responses.put("BtpPayload", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("BtpPayload").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x31, (byte)0x00, (byte)0x07, (byte)0x38, (byte)0x00, (byte)0x04, (byte)0xf0, (byte)0x05, (byte)0xba, (byte)0x11 });
			_responses.get("BtpPayload").put(TestAdapterMessageTypeEnum.UtBtpEvent, new byte[] { (byte)0x38, (byte)0x00, (byte)0x04, (byte)0xf0, (byte)0x05, (byte)0xba, (byte)0x11 });
			_responses.get("BtpPayload").put(TestAdapterMessageTypeEnum.BtpPayload, new byte[] { (byte)0xf0, (byte)0x05, (byte)0xba, (byte)0x11 });
			// UtCamEvent/ChangeHeading
			_messages.put("UtCamEvent_ChangeHeading", new byte[] { (byte)0x23, (byte)0x00, (byte)0x0a, (byte)0x2f, (byte)0x00, (byte)0x07, (byte)0x70, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x05 });
			_responses.put("UtCamEvent_ChangeHeading", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtCamEvent_ChangeHeading").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x2f, (byte)0x00, (byte)0x07, (byte)0x70, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x05 });
			_responses.get("UtCamEvent_ChangeHeading").put(TestAdapterMessageTypeEnum.UtCamEvent, new byte[] { (byte)0x70, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x05 });
			_responses.get("UtCamEvent_ChangeHeading").put(TestAdapterMessageTypeEnum.changeHeading, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x05 });
			// UtCamEvent/ChangePosition
			_messages.put("UtCamEvent_ChangePosition", new byte[] { (byte)0x23, (byte)0x00, (byte)0x0a, (byte)0x2f, (byte)0x00, (byte)0x07, (byte)0x71, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x06 });
			_responses.put("UtCamEvent_ChangePosition", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtCamEvent_ChangePosition").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x2f, (byte)0x00, (byte)0x07, (byte)0x71, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x06 });
			_responses.get("UtCamEvent_ChangePosition").put(TestAdapterMessageTypeEnum.UtCamEvent, new byte[] { (byte)0x71, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x06 });
			_responses.get("UtCamEvent_ChangePosition").put(TestAdapterMessageTypeEnum.changePosition, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x06 });
			// UtCamEvent/ChangeSpeed
			_messages.put("UtCamEvent_ChangeSpeed", new byte[] { (byte)0x23, (byte)0x00, (byte)0x0a, (byte)0x2f, (byte)0x00, (byte)0x07, (byte)0x72, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x02 });
			_responses.put("UtCamEvent_ChangeSpeed", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtCamEvent_ChangeSpeed").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x2f, (byte)0x00, (byte)0x07, (byte)0x72, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x02 });
			_responses.get("UtCamEvent_ChangeSpeed").put(TestAdapterMessageTypeEnum.UtCamEvent, new byte[] { (byte)0x72, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x02 });
			_responses.get("UtCamEvent_ChangeSpeed").put(TestAdapterMessageTypeEnum.changeSpeed, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x02 });
			// UtCamEvent/SetCrashSignal
			_messages.put("UtCamEvent_SetCrashSignal", new byte[] { (byte)0x23, (byte)0x00, (byte)0x07, (byte)0x2f, (byte)0x00, (byte)0x04, (byte)0x73, (byte)0x00, (byte)0x01, (byte)0x01 });
			_responses.put("UtCamEvent_SetCrashSignal", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtCamEvent_SetCrashSignal").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x2f, (byte)0x00, (byte)0x04, (byte)0x73, (byte)0x00, (byte)0x01, (byte)0x01 });
			_responses.get("UtCamEvent_SetCrashSignal").put(TestAdapterMessageTypeEnum.UtCamEvent, new byte[] { (byte)0x73, (byte)0x00, (byte)0x01, (byte)0x01 });
			_responses.get("UtCamEvent_SetCrashSignal").put(TestAdapterMessageTypeEnum.setCrashSignal, new byte[] { (byte)0x01 });
			// UtCamEvent/SetDangerousGoodsStatus
			_messages.put("UtCamEvent_SetDangerousGoodsStatus", new byte[] { (byte)0x23, (byte)0x00, (byte)0x0a, (byte)0x2f, (byte)0x00, (byte)0x07, (byte)0x74, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x1f, (byte)0xff });
			_responses.put("UtCamEvent_SetDangerousGoodsStatus", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtCamEvent_SetDangerousGoodsStatus").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x2f, (byte)0x00, (byte)0x07, (byte)0x74, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x1f, (byte)0xff });
			_responses.get("UtCamEvent_SetDangerousGoodsStatus").put(TestAdapterMessageTypeEnum.UtCamEvent, new byte[] { (byte)0x74, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x1f, (byte)0xff });
			_responses.get("UtCamEvent_SetDangerousGoodsStatus").put(TestAdapterMessageTypeEnum.setDangerousGoodsStatus, new byte[] { (byte)0x00, (byte)0x00, (byte)0x1f, (byte)0xff });
			// UtCamEvent/SetLengthWidthPrecision
			_messages.put("UtCamEvent_SetLengthWidthPrecision", new byte[] { (byte)0x23, (byte)0x00, (byte)0x07, (byte)0x2f, (byte)0x00, (byte)0x04, (byte)0x75, (byte)0x00, (byte)0x01, (byte)0x01 });
			_responses.put("UtCamEvent_SetLengthWidthPrecision", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtCamEvent_SetLengthWidthPrecision").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x2f, (byte)0x00, (byte)0x04, (byte)0x75, (byte)0x00, (byte)0x01, (byte)0x01 });
			_responses.get("UtCamEvent_SetLengthWidthPrecision").put(TestAdapterMessageTypeEnum.UtCamEvent, new byte[] { (byte)0x75, (byte)0x00, (byte)0x01, (byte)0x01 });
			_responses.get("UtCamEvent_SetLengthWidthPrecision").put(TestAdapterMessageTypeEnum.setLengthWidthPrecision, new byte[] { (byte)0x01 });
			// UtCamEvent/SetDistanceToStopLine
			_messages.put("UtCamEvent_SetDistanceToStopLine", new byte[] { (byte)0x23, (byte)0x00, (byte)0x0a, (byte)0x2f, (byte)0x00, (byte)0x07, (byte)0x76, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0xff, (byte)0xff });
			_responses.put("UtCamEvent_SetDistanceToStopLine", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtCamEvent_SetDistanceToStopLine").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x2f, (byte)0x00, (byte)0x07, (byte)0x76, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0xff, (byte)0xff });
			_responses.get("UtCamEvent_SetDistanceToStopLine").put(TestAdapterMessageTypeEnum.UtCamEvent, new byte[] { (byte)0x76, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0xff, (byte)0xff });
			_responses.get("UtCamEvent_SetDistanceToStopLine").put(TestAdapterMessageTypeEnum.setDistanceToStopLine, new byte[] { (byte)0x00, (byte)0x00, (byte)0xff, (byte)0xff });
			// UtCamEvent/SetTurnAdvice
			_messages.put("UtCamEvent_SetTurnAdvice", new byte[] { (byte)0x23, (byte)0x00, (byte)0x12, (byte)0x2f, (byte)0x00, (byte)0x0f, (byte)0x77, (byte)0x00, (byte)0x0c, (byte)0x80, (byte)0x00, (byte)0x02, (byte)0x00, (byte)0x10, (byte)0x81, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0xff, (byte)0xff });
			_responses.put("UtCamEvent_SetTurnAdvice", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtCamEvent_SetTurnAdvice").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x2f, (byte)0x00, (byte)0x0f, (byte)0x77, (byte)0x00, (byte)0x0c, (byte)0x80, (byte)0x00, (byte)0x02, (byte)0x00, (byte)0x10, (byte)0x81, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0xff, (byte)0xff });
			_responses.get("UtCamEvent_SetTurnAdvice").put(TestAdapterMessageTypeEnum.UtCamEvent, new byte[] { (byte)0x77, (byte)0x00, (byte)0x0c, (byte)0x80, (byte)0x00, (byte)0x02, (byte)0x00, (byte)0x10, (byte)0x81, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0xff, (byte)0xff });
			_responses.get("UtCamEvent_SetTurnAdvice").put(TestAdapterMessageTypeEnum.setTurnAdvice, new byte[] { (byte)0x80, (byte)0x00, (byte)0x02, (byte)0x00, (byte)0x10, (byte)0x81, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0xff, (byte)0xff });
			_responses.get("UtCamEvent_SetTurnAdvice").put(TestAdapterMessageTypeEnum.direction, new byte[] { (byte)0x00, (byte)0x10 });
			_responses.get("UtCamEvent_SetTurnAdvice").put(TestAdapterMessageTypeEnum.distance, new byte[] { (byte)0x00, (byte)0x00, (byte)0xff, (byte)0xff });
			// UtCamEvent/ChangeCurvature
			_messages.put("UtCamEvent_ChangeCurvature", new byte[] { (byte)0x23, (byte)0x00, (byte)0x0a, (byte)0x2f, (byte)0x00, (byte)0x07, (byte)0x78, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xfc, (byte)0x01 });
			_responses.put("UtCamEvent_ChangeCurvature", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtCamEvent_ChangeCurvature").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x2f, (byte)0x00, (byte)0x07, (byte)0x78, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xfc, (byte)0x01 });
			_responses.get("UtCamEvent_ChangeCurvature").put(TestAdapterMessageTypeEnum.UtCamEvent, new byte[] { (byte)0x78, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xfc, (byte)0x01 });
			_responses.get("UtCamEvent_ChangeCurvature").put(TestAdapterMessageTypeEnum.changeCurvature, new byte[] { (byte)0xff, (byte)0xff, (byte)0xfc, (byte)0x01 });
			// UtCamEvent/SetOccupancy
			_messages.put("UtCamEvent_SetOccupancy", new byte[] { (byte)0x23, (byte)0x00, (byte)0x0a, (byte)0x2f, (byte)0x00, (byte)0x07, (byte)0x79, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xff });
			_responses.put("UtCamEvent_SetOccupancy", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtCamEvent_SetOccupancy").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x2f, (byte)0x00, (byte)0x07, (byte)0x79, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xff });
			_responses.get("UtCamEvent_SetOccupancy").put(TestAdapterMessageTypeEnum.UtCamEvent, new byte[] { (byte)0x79, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xff });
			_responses.get("UtCamEvent_SetOccupancy").put(TestAdapterMessageTypeEnum.setOccupancy, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xff });
			// UtCamEvent/SetDoorStatus
			_messages.put("UtCamEvent_SetDoorStatus", new byte[] { (byte)0x23, (byte)0x00, (byte)0x07, (byte)0x2f, (byte)0x00, (byte)0x04, (byte)0x7a, (byte)0x00, (byte)0x01, (byte)0x08 });
			_responses.put("UtCamEvent_SetDoorStatus", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtCamEvent_SetDoorStatus").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x2f, (byte)0x00, (byte)0x04, (byte)0x7a, (byte)0x00, (byte)0x01, (byte)0x08 });
			_responses.get("UtCamEvent_SetDoorStatus").put(TestAdapterMessageTypeEnum.UtCamEvent, new byte[] { (byte)0x7a, (byte)0x00, (byte)0x01, (byte)0x08 });
			_responses.get("UtCamEvent_SetDoorStatus").put(TestAdapterMessageTypeEnum.setDoorStatus, new byte[] { (byte)0x08 });
			// UtCamEvent/SetLightBarStatus
			_messages.put("UtCamEvent_SetLightBarStatus", new byte[] { (byte)0x23, (byte)0x00, (byte)0x0a, (byte)0x2f, (byte)0x00, (byte)0x07, (byte)0x7b, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.put("UtCamEvent_SetLightBarStatus", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtCamEvent_SetLightBarStatus").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x2f, (byte)0x00, (byte)0x07, (byte)0x7b, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtCamEvent_SetLightBarStatus").put(TestAdapterMessageTypeEnum.UtCamEvent, new byte[] { (byte)0x7b, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtCamEvent_SetLightBarStatus").put(TestAdapterMessageTypeEnum.setLightBarStatus, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			// UtCamEvent/SetSireneStatus
			_messages.put("UtCamEvent_SetSireneStatus", new byte[] { (byte)0x23, (byte)0x00, (byte)0x0a, (byte)0x2f, (byte)0x00, (byte)0x07, (byte)0x7c, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x03 });
			_responses.put("UtCamEvent_SetSireneStatus", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtCamEvent_SetSireneStatus").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x2f, (byte)0x00, (byte)0x07, (byte)0x7c, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x03 });
			_responses.get("UtCamEvent_SetSireneStatus").put(TestAdapterMessageTypeEnum.UtCamEvent, new byte[] { (byte)0x7c, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x03 });
			_responses.get("UtCamEvent_SetSireneStatus").put(TestAdapterMessageTypeEnum.setSireneStatus, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x03 });
			// UtCamEvent/SetTrafficLightPriority
			_messages.put("UtCamEvent_SetTrafficLightPriority", new byte[] { (byte)0x23, (byte)0x00, (byte)0x0a, (byte)0x2f, (byte)0x00, (byte)0x07, (byte)0x7d, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x07 });
			_responses.put("UtCamEvent_SetTrafficLightPriority", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtCamEvent_SetTrafficLightPriority").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x2f, (byte)0x00, (byte)0x07, (byte)0x7d, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x07 });
			_responses.get("UtCamEvent_SetTrafficLightPriority").put(TestAdapterMessageTypeEnum.UtCamEvent, new byte[] { (byte)0x7d, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x07 });
			_responses.get("UtCamEvent_SetTrafficLightPriority").put(TestAdapterMessageTypeEnum.setTrafficLightPriority, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x07 });
			// UtCamEvent/SetScheduleDeviation
			_messages.put("UtCamEvent_SetScheduleDeviation", new byte[] { (byte)0x23, (byte)0x00, (byte)0x0a, (byte)0x2f, (byte)0x00, (byte)0x07, (byte)0x7e, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xfc, (byte)0x72 });
			_responses.put("UtCamEvent_SetScheduleDeviation", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtCamEvent_SetScheduleDeviation").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x2f, (byte)0x00, (byte)0x07, (byte)0x7e, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xfc, (byte)0x72 });
			_responses.get("UtCamEvent_SetScheduleDeviation").put(TestAdapterMessageTypeEnum.UtCamEvent, new byte[] { (byte)0x7e, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xfc, (byte)0x72 });
			_responses.get("UtCamEvent_SetScheduleDeviation").put(TestAdapterMessageTypeEnum.setScheduleDeviation, new byte[] { (byte)0xff, (byte)0xff, (byte)0xfc, (byte)0x72 });
			// UtCamEvent/SetPtLineDescription
			_messages.put("UtCamEvent_SetPtLineDescription", new byte[] { (byte)0x23, (byte)0x00, (byte)0x39, (byte)0x2f, (byte)0x00, (byte)0x36, (byte)0x82, (byte)0x00, (byte)0x33, (byte)0x83, (byte)0x00, (byte)0x13, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x0f, (byte)0x43, (byte)0x6f, (byte)0x75, (byte)0x72, (byte)0x73, (byte)0x65, (byte)0x4f, (byte)0x66, (byte)0x4a, (byte)0x6f, (byte)0x75, (byte)0x72, (byte)0x6e, (byte)0x65, (byte)0x79, (byte)0x84, (byte)0x00, (byte)0x0b, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x07, (byte)0x4c, (byte)0x69, (byte)0x6e, (byte)0x65, (byte)0x52, (byte)0x65, (byte)0x66, (byte)0x85, (byte)0x00, (byte)0x0c, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x08, (byte)0x52, (byte)0x6f, (byte)0x75, (byte)0x74, (byte)0x65, (byte)0x52, (byte)0x65, (byte)0x66 });
			_responses.put("UtCamEvent_SetPtLineDescription", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtCamEvent_SetPtLineDescription").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x2f, (byte)0x00, (byte)0x36, (byte)0x82, (byte)0x00, (byte)0x33, (byte)0x83, (byte)0x00, (byte)0x13, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x0f, (byte)0x43, (byte)0x6f, (byte)0x75, (byte)0x72, (byte)0x73, (byte)0x65, (byte)0x4f, (byte)0x66, (byte)0x4a, (byte)0x6f, (byte)0x75, (byte)0x72, (byte)0x6e, (byte)0x65, (byte)0x79, (byte)0x84, (byte)0x00, (byte)0x0b, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x07, (byte)0x4c, (byte)0x69, (byte)0x6e, (byte)0x65, (byte)0x52, (byte)0x65, (byte)0x66, (byte)0x85, (byte)0x00, (byte)0x0c, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x08, (byte)0x52, (byte)0x6f, (byte)0x75, (byte)0x74, (byte)0x65, (byte)0x52, (byte)0x65, (byte)0x66 });
			_responses.get("UtCamEvent_SetPtLineDescription").put(TestAdapterMessageTypeEnum.UtCamEvent, new byte[] { (byte)0x82, (byte)0x00, (byte)0x33, (byte)0x83, (byte)0x00, (byte)0x13, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x0f, (byte)0x43, (byte)0x6f, (byte)0x75, (byte)0x72, (byte)0x73, (byte)0x65, (byte)0x4f, (byte)0x66, (byte)0x4a, (byte)0x6f, (byte)0x75, (byte)0x72, (byte)0x6e, (byte)0x65, (byte)0x79, (byte)0x84, (byte)0x00, (byte)0x0b, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x07, (byte)0x4c, (byte)0x69, (byte)0x6e, (byte)0x65, (byte)0x52, (byte)0x65, (byte)0x66, (byte)0x85, (byte)0x00, (byte)0x0c, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x08, (byte)0x52, (byte)0x6f, (byte)0x75, (byte)0x74, (byte)0x65, (byte)0x52, (byte)0x65, (byte)0x66 });
			_responses.get("UtCamEvent_SetPtLineDescription").put(TestAdapterMessageTypeEnum.setPtLineDescription, new byte[] { (byte)0x83, (byte)0x00, (byte)0x13, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x0f, (byte)0x43, (byte)0x6f, (byte)0x75, (byte)0x72, (byte)0x73, (byte)0x65, (byte)0x4f, (byte)0x66, (byte)0x4a, (byte)0x6f, (byte)0x75, (byte)0x72, (byte)0x6e, (byte)0x65, (byte)0x79, (byte)0x84, (byte)0x00, (byte)0x0b, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x07, (byte)0x4c, (byte)0x69, (byte)0x6e, (byte)0x65, (byte)0x52, (byte)0x65, (byte)0x66, (byte)0x85, (byte)0x00, (byte)0x0c, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x08, (byte)0x52, (byte)0x6f, (byte)0x75, (byte)0x74, (byte)0x65, (byte)0x52, (byte)0x65, (byte)0x66 });
			_responses.get("UtCamEvent_SetPtLineDescription").put(TestAdapterMessageTypeEnum.courseOfJourney, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x0f, (byte)0x43, (byte)0x6f, (byte)0x75, (byte)0x72, (byte)0x73, (byte)0x65, (byte)0x4f, (byte)0x66, (byte)0x4a, (byte)0x6f, (byte)0x75, (byte)0x72, (byte)0x6e, (byte)0x65, (byte)0x79 });
			_responses.get("UtCamEvent_SetPtLineDescription").put(TestAdapterMessageTypeEnum.lineRef, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x07, (byte)0x4c, (byte)0x69, (byte)0x6e, (byte)0x65, (byte)0x52, (byte)0x65, (byte)0x66, });
			_responses.get("UtCamEvent_SetPtLineDescription").put(TestAdapterMessageTypeEnum.routeRef, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x08, (byte)0x52, (byte)0x6f, (byte)0x75, (byte)0x74, (byte)0x65, (byte)0x52, (byte)0x65, (byte)0x66 });
			// UtCamEvent/SetExteriorLightsStatus
			_messages.put("UtCamEvent_SetExteriorLightsStatus", new byte[] { (byte)0x23, (byte)0x00, (byte)0x07, (byte)0x2f, (byte)0x00, (byte)0x04, (byte)0x7f, (byte)0x00, (byte)0x01, (byte)0x80 });
			_responses.put("UtCamEvent_SetExteriorLightsStatus", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtCamEvent_SetExteriorLightsStatus").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x2f, (byte)0x00, (byte)0x04, (byte)0x7f, (byte)0x00, (byte)0x01, (byte)0x80 });
			_responses.get("UtCamEvent_SetExteriorLightsStatus").put(TestAdapterMessageTypeEnum.UtCamEvent, new byte[] { (byte)0x7f, (byte)0x00, (byte)0x01, (byte)0x80 });
			_responses.get("UtCamEvent_SetExteriorLightsStatus").put(TestAdapterMessageTypeEnum.setExteriorLightsStatus, new byte[] { (byte)0x80 });
			// UtCamEvent/CheckLdmBasic
			_messages.put("UtCamEvent_CheckLdmBasic", new byte[] { (byte)0x23, (byte)0x00, (byte)0x79, (byte)0x2f, (byte)0x00, (byte)0x76, (byte)0x86, (byte)0x00, (byte)0x73, (byte)0xa0, (byte)0x00, (byte)0x15, (byte)0xb0, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb1, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb2, (byte)0x00, (byte)0x04, (byte)0x01, (byte)0xad, (byte)0x7f, (byte)0x29, (byte)0xa1, (byte)0x00, (byte)0x58, (byte)0xb3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0xa7, (byte)0xc5, (byte)0xa2, (byte)0x00, (byte)0x0c, (byte)0xb4, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xb5, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xb6, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xa3, (byte)0x00, (byte)0x3c, (byte)0xa4, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xa5, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb9, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xba, (byte)0x00, (byte)0x00, (byte)0xbb, (byte)0x00, (byte)0x00, (byte)0xbc, (byte)0x00, (byte)0x00, (byte)0xbd, (byte)0x00, (byte)0x00, (byte)0xbe, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xdf, (byte)0x00, (byte)0x00 });
			_responses.put("UtCamEvent_CheckLdmBasic", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtCamEvent_CheckLdmBasic").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x2f, (byte)0x00, (byte)0x76, (byte)0x86, (byte)0x00, (byte)0x73, (byte)0xa0, (byte)0x00, (byte)0x15, (byte)0xb0, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb1, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb2, (byte)0x00, (byte)0x04, (byte)0x01, (byte)0xad, (byte)0x7f, (byte)0x29, (byte)0xa1, (byte)0x00, (byte)0x58, (byte)0xb3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0xa7, (byte)0xc5, (byte)0xa2, (byte)0x00, (byte)0x0c, (byte)0xb4, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xb5, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xb6, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xa3, (byte)0x00, (byte)0x3c, (byte)0xa4, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xa5, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb9, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xba, (byte)0x00, (byte)0x00, (byte)0xbb, (byte)0x00, (byte)0x00, (byte)0xbc, (byte)0x00, (byte)0x00, (byte)0xbd, (byte)0x00, (byte)0x00, (byte)0xbe, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xdf, (byte)0x00, (byte)0x00 });
			_responses.get("UtCamEvent_CheckLdmBasic").put(TestAdapterMessageTypeEnum.UtCamEvent, new byte[] { (byte)0x86, (byte)0x00, (byte)0x73, (byte)0xa0, (byte)0x00, (byte)0x15, (byte)0xb0, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb1, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb2, (byte)0x00, (byte)0x04, (byte)0x01, (byte)0xad, (byte)0x7f, (byte)0x29, (byte)0xa1, (byte)0x00, (byte)0x58, (byte)0xb3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0xa7, (byte)0xc5, (byte)0xa2, (byte)0x00, (byte)0x0c, (byte)0xb4, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xb5, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xb6, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xa3, (byte)0x00, (byte)0x3c, (byte)0xa4, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xa5, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb9, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xba, (byte)0x00, (byte)0x00, (byte)0xbb, (byte)0x00, (byte)0x00, (byte)0xbc, (byte)0x00, (byte)0x00, (byte)0xbd, (byte)0x00, (byte)0x00, (byte)0xbe, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xdf, (byte)0x00, (byte)0x00 });
			_responses.get("UtCamEvent_CheckLdmBasic").put(TestAdapterMessageTypeEnum.checkLdm, new byte[] { (byte)0xa0, (byte)0x00, (byte)0x15, (byte)0xb0, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb1, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb2, (byte)0x00, (byte)0x04, (byte)0x01, (byte)0xad, (byte)0x7f, (byte)0x29, (byte)0xa1, (byte)0x00, (byte)0x58, (byte)0xb3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0xa7, (byte)0xc5, (byte)0xa2, (byte)0x00, (byte)0x0c, (byte)0xb4, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xb5, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xb6, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xa3, (byte)0x00, (byte)0x3c, (byte)0xa4, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xa5, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb9, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xba, (byte)0x00, (byte)0x00, (byte)0xbb, (byte)0x00, (byte)0x00, (byte)0xbc, (byte)0x00, (byte)0x00, (byte)0xbd, (byte)0x00, (byte)0x00, (byte)0xbe, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xdf, (byte)0x00, (byte)0x00 });
			_responses.get("UtCamEvent_CheckLdmBasic").put(TestAdapterMessageTypeEnum.ItsPduHeader, new byte[] { (byte)0xb0, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb1, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb2, (byte)0x00, (byte)0x04, (byte)0x01, (byte)0xad, (byte)0x7f, (byte)0x29 });
			_responses.get("UtCamEvent_CheckLdmBasic").put(TestAdapterMessageTypeEnum.protocolVersion, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtCamEvent_CheckLdmBasic").put(TestAdapterMessageTypeEnum.messageID, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtCamEvent_CheckLdmBasic").put(TestAdapterMessageTypeEnum.generationTime, new byte[] { (byte)0x01, (byte)0xad, (byte)0x7f, (byte)0x29 });
			_responses.get("UtCamEvent_CheckLdmBasic").put(TestAdapterMessageTypeEnum.CoopAwareness, new byte[] { (byte)0xb3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0xa7, (byte)0xc5, (byte)0xa2, (byte)0x00, (byte)0x0c, (byte)0xb4, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xb5, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xb6, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xa3, (byte)0x00, (byte)0x3c, (byte)0xa4, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xa5, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb9, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xba, (byte)0x00, (byte)0x00, (byte)0xbb, (byte)0x00, (byte)0x00, (byte)0xbc, (byte)0x00, (byte)0x00, (byte)0xbd, (byte)0x00, (byte)0x00, (byte)0xbe, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xdf, (byte)0x00, (byte)0x00 });
			_responses.get("UtCamEvent_CheckLdmBasic").put(TestAdapterMessageTypeEnum.stationID, new byte[] { (byte)0x00, (byte)0x00, (byte)0xa7, (byte)0xc5 });
			_responses.get("UtCamEvent_CheckLdmBasic").put(TestAdapterMessageTypeEnum.StationCharacteristics, new byte[] { (byte)0xb4, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xb5, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xb6, (byte)0x00, (byte)0x01, (byte)0x01 });
			_responses.get("UtCamEvent_CheckLdmBasic").put(TestAdapterMessageTypeEnum.mobileItsStation, new byte[] { (byte)0x01 });
			_responses.get("UtCamEvent_CheckLdmBasic").put(TestAdapterMessageTypeEnum.privateItsStation, new byte[] { (byte)0x01 });
			_responses.get("UtCamEvent_CheckLdmBasic").put(TestAdapterMessageTypeEnum.physicalRelevantItsStation, new byte[] { (byte)0x01 });
			_responses.get("UtCamEvent_CheckLdmBasic").put(TestAdapterMessageTypeEnum.ReferencePosition, new byte[] { (byte)0xa4, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xa5, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb9, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xba, (byte)0x00, (byte)0x00, (byte)0xbb, (byte)0x00, (byte)0x00, (byte)0xbc, (byte)0x00, (byte)0x00, (byte)0xbd, (byte)0x00, (byte)0x00, (byte)0xbe, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtCamEvent_CheckLdmBasic").put(TestAdapterMessageTypeEnum.Longitude, new byte[] { (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtCamEvent_CheckLdmBasic").put(TestAdapterMessageTypeEnum.Latitude, new byte[] { (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtCamEvent_CheckLdmBasic").put(TestAdapterMessageTypeEnum.elevation, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtCamEvent_CheckLdmBasic").put(TestAdapterMessageTypeEnum.heading, new byte[] { });
			_responses.get("UtCamEvent_CheckLdmBasic").put(TestAdapterMessageTypeEnum.streetName, new byte[] { });
			_responses.get("UtCamEvent_CheckLdmBasic").put(TestAdapterMessageTypeEnum.positionConfidence, new byte[] { });
			_responses.get("UtCamEvent_CheckLdmBasic").put(TestAdapterMessageTypeEnum.elevationConfidence, new byte[] { });
			_responses.get("UtCamEvent_CheckLdmBasic").put(TestAdapterMessageTypeEnum.roadSegmentID,  new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtCamEvent_CheckLdmBasic").put(TestAdapterMessageTypeEnum.camParameters, new byte[] { });
			// UtCamEvent/UtCamEvent_CheckLdmParis
			_messages.put("UtCamEvent_CheckLdmParis", new byte[] { (byte)0x23, (byte)0x00, (byte)0x93, (byte)0x2f, (byte)0x00, (byte)0x90, (byte)0x86, (byte)0x00, (byte)0x8d, (byte)0xa0, (byte)0x00, (byte)0x15, (byte)0xb0, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb1, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb2, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x52, (byte)0xec, (byte)0xa6, (byte)0xa1, (byte)0x00, (byte)0x72, (byte)0xb3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x15, (byte)0x30, (byte)0xa2, (byte)0x00, (byte)0x0c, (byte)0xb4, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xb5, (byte)0x00, (byte)0x01, (byte)0x00, (byte)0xb6, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xa3, (byte)0x00, (byte)0x56, (byte)0xa4, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x0b, (byte)0xeb, (byte)0xc2, (byte)0x00, (byte)0xa5, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x1c, (byte)0x9c, (byte)0x38, (byte)0x00, (byte)0xb9, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x03, (byte)0x8e, (byte)0xba, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x1c, (byte)0x20, (byte)0xbb, (byte)0x00, (byte)0x0e, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x0a, (byte)0x4d, (byte)0x6f, (byte)0x6e, (byte)0x74, (byte)0x6d, (byte)0x61, (byte)0x72, (byte)0x74, (byte)0x72, (byte)0x65, (byte)0xbc, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x05, (byte)0xbd, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x07, (byte)0xbe, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x12, (byte)0xd6, (byte)0x87, (byte)0xdf, (byte)0x00, (byte)0x00 });
			_responses.put("UtCamEvent_CheckLdmParis", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtCamEvent_CheckLdmParis").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x2f, (byte)0x00, (byte)0x90, (byte)0x86, (byte)0x00, (byte)0x8d, (byte)0xa0, (byte)0x00, (byte)0x15, (byte)0xb0, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb1, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb2, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x52, (byte)0xec, (byte)0xa6, (byte)0xa1, (byte)0x00, (byte)0x72, (byte)0xb3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x15, (byte)0x30, (byte)0xa2, (byte)0x00, (byte)0x0c, (byte)0xb4, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xb5, (byte)0x00, (byte)0x01, (byte)0x00, (byte)0xb6, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xa3, (byte)0x00, (byte)0x56, (byte)0xa4, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x0b, (byte)0xeb, (byte)0xc2, (byte)0x00, (byte)0xa5, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x1c, (byte)0x9c, (byte)0x38, (byte)0x00, (byte)0xb9, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x03, (byte)0x8e, (byte)0xba, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x1c, (byte)0x20, (byte)0xbb, (byte)0x00, (byte)0x0e, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x0a, (byte)0x4d, (byte)0x6f, (byte)0x6e, (byte)0x74, (byte)0x6d, (byte)0x61, (byte)0x72, (byte)0x74, (byte)0x72, (byte)0x65, (byte)0xbc, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x05, (byte)0xbd, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x07, (byte)0xbe, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x12, (byte)0xd6, (byte)0x87, (byte)0xdf, (byte)0x00, (byte)0x00 });
			_responses.get("UtCamEvent_CheckLdmParis").put(TestAdapterMessageTypeEnum.UtCamEvent, new byte[] { (byte)0x86, (byte)0x00, (byte)0x8d, (byte)0xa0, (byte)0x00, (byte)0x15, (byte)0xb0, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb1, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb2, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x52, (byte)0xec, (byte)0xa6, (byte)0xa1, (byte)0x00, (byte)0x72, (byte)0xb3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x15, (byte)0x30, (byte)0xa2, (byte)0x00, (byte)0x0c, (byte)0xb4, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xb5, (byte)0x00, (byte)0x01, (byte)0x00, (byte)0xb6, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xa3, (byte)0x00, (byte)0x56, (byte)0xa4, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x0b, (byte)0xeb, (byte)0xc2, (byte)0x00, (byte)0xa5, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x1c, (byte)0x9c, (byte)0x38, (byte)0x00, (byte)0xb9, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x03, (byte)0x8e, (byte)0xba, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x1c, (byte)0x20, (byte)0xbb, (byte)0x00, (byte)0x0e, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x0a, (byte)0x4d, (byte)0x6f, (byte)0x6e, (byte)0x74, (byte)0x6d, (byte)0x61, (byte)0x72, (byte)0x74, (byte)0x72, (byte)0x65, (byte)0xbc, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x05, (byte)0xbd, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x07, (byte)0xbe, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x12, (byte)0xd6, (byte)0x87, (byte)0xdf, (byte)0x00, (byte)0x00 });
			_responses.get("UtCamEvent_CheckLdmParis").put(TestAdapterMessageTypeEnum.checkLdm, new byte[] { (byte)0xa0, (byte)0x00, (byte)0x15, (byte)0xb0, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb1, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb2, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x52, (byte)0xec, (byte)0xa6, (byte)0xa1, (byte)0x00, (byte)0x72, (byte)0xb3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x15, (byte)0x30, (byte)0xa2, (byte)0x00, (byte)0x0c, (byte)0xb4, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xb5, (byte)0x00, (byte)0x01, (byte)0x00, (byte)0xb6, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xa3, (byte)0x00, (byte)0x56, (byte)0xa4, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x0b, (byte)0xeb, (byte)0xc2, (byte)0x00, (byte)0xa5, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x1c, (byte)0x9c, (byte)0x38, (byte)0x00, (byte)0xb9, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x03, (byte)0x8e, (byte)0xba, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x1c, (byte)0x20, (byte)0xbb, (byte)0x00, (byte)0x0e, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x0a, (byte)0x4d, (byte)0x6f, (byte)0x6e, (byte)0x74, (byte)0x6d, (byte)0x61, (byte)0x72, (byte)0x74, (byte)0x72, (byte)0x65, (byte)0xbc, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x05, (byte)0xbd, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x07, (byte)0xbe, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x12, (byte)0xd6, (byte)0x87, (byte)0xde, (byte)0x00, (byte)0x00 });
			_responses.get("UtCamEvent_CheckLdmParis").put(TestAdapterMessageTypeEnum.ItsPduHeader, new byte[] { (byte)0xb0, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb1, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb2, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x52, (byte)0xec, (byte)0xa6 });
			_responses.get("UtCamEvent_CheckLdmParis").put(TestAdapterMessageTypeEnum.protocolVersion, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtCamEvent_CheckLdmParis").put(TestAdapterMessageTypeEnum.messageID, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtCamEvent_CheckLdmParis").put(TestAdapterMessageTypeEnum.generationTime, new byte[] { (byte)0x00, (byte)0x52, (byte)0xec, (byte)0xa6 });
			_responses.get("UtCamEvent_CheckLdmParis").put(TestAdapterMessageTypeEnum.CoopAwareness, new byte[] { (byte)0xb3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x15, (byte)0x30, (byte)0xa2, (byte)0x00, (byte)0x0c, (byte)0xb4, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xb5, (byte)0x00, (byte)0x01, (byte)0x00, (byte)0xb6, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xa3, (byte)0x00, (byte)0x56, (byte)0xa4, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x0b, (byte)0xeb, (byte)0xc2, (byte)0x00, (byte)0xa5, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x1c, (byte)0x9c, (byte)0x38, (byte)0x00, (byte)0xb9, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x03, (byte)0x8e, (byte)0xba, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x1c, (byte)0x20, (byte)0xbb, (byte)0x00, (byte)0x0e, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x0a, (byte)0x4d, (byte)0x6f, (byte)0x6e, (byte)0x74, (byte)0x6d, (byte)0x61, (byte)0x72, (byte)0x74, (byte)0x72, (byte)0x65, (byte)0xbc, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x05, (byte)0xbd, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x07, (byte)0xbe, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x12, (byte)0xd6, (byte)0x87, (byte)0xdf, (byte)0x00, (byte)0x00 });
			_responses.get("UtCamEvent_CheckLdmParis").put(TestAdapterMessageTypeEnum.stationID, new byte[] { (byte)0x00, (byte)0x00, (byte)0x15, (byte)0x30 });
			_responses.get("UtCamEvent_CheckLdmParis").put(TestAdapterMessageTypeEnum.StationCharacteristics, new byte[] { (byte)0xb4, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xb5, (byte)0x00, (byte)0x01, (byte)0x00, (byte)0xb6, (byte)0x00, (byte)0x01, (byte)0x01 });
			_responses.get("UtCamEvent_CheckLdmParis").put(TestAdapterMessageTypeEnum.mobileItsStation, new byte[] { (byte)0x01 });
			_responses.get("UtCamEvent_CheckLdmParis").put(TestAdapterMessageTypeEnum.privateItsStation, new byte[] { (byte)0x00 });
			_responses.get("UtCamEvent_CheckLdmParis").put(TestAdapterMessageTypeEnum.physicalRelevantItsStation, new byte[] { (byte)0x01 });
			_responses.get("UtCamEvent_CheckLdmParis").put(TestAdapterMessageTypeEnum.ReferencePosition, new byte[] { (byte)0xa4, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x0b, (byte)0xeb, (byte)0xc2, (byte)0x00, (byte)0xa5, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x1c, (byte)0x9c, (byte)0x38, (byte)0x00, (byte)0xb9, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x03, (byte)0x8e, (byte)0xba, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x1c, (byte)0x20, (byte)0xbb, (byte)0x00, (byte)0x0e, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x0a, (byte)0x4d, (byte)0x6f, (byte)0x6e, (byte)0x74, (byte)0x6d, (byte)0x61, (byte)0x72, (byte)0x74, (byte)0x72, (byte)0x65, (byte)0xbc, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x05, (byte)0xbd, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x07, (byte)0xbe, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x12, (byte)0xd6, (byte)0x87 });
			_responses.get("UtCamEvent_CheckLdmParis").put(TestAdapterMessageTypeEnum.Longitude, new byte[] { (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x0b, (byte)0xeb, (byte)0xc2, (byte)0x00 });
			_responses.get("UtCamEvent_CheckLdmParis").put(TestAdapterMessageTypeEnum.Latitude, new byte[] { (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x1c, (byte)0x9c, (byte)0x38, (byte)0x00 });
			_responses.get("UtCamEvent_CheckLdmParis").put(TestAdapterMessageTypeEnum.elevation, new byte[] { (byte)0x00, (byte)0x00, (byte)0x03, (byte)0x8e });
			_responses.get("UtCamEvent_CheckLdmParis").put(TestAdapterMessageTypeEnum.heading, new byte[] { (byte)0x00, (byte)0x00, (byte)0x1c, (byte)0x20 });
			_responses.get("UtCamEvent_CheckLdmParis").put(TestAdapterMessageTypeEnum.streetName, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x0a, (byte)0x4d, (byte)0x6f, (byte)0x6e, (byte)0x74, (byte)0x6d, (byte)0x61, (byte)0x72, (byte)0x74, (byte)0x72, (byte)0x65 });
			_responses.get("UtCamEvent_CheckLdmParis").put(TestAdapterMessageTypeEnum.positionConfidence, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x05 });
			_responses.get("UtCamEvent_CheckLdmParis").put(TestAdapterMessageTypeEnum.elevationConfidence, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x07 });
			_responses.get("UtCamEvent_CheckLdmParis").put(TestAdapterMessageTypeEnum.roadSegmentID,  new byte[] { (byte)0x00, (byte)0x12, (byte)0xd6, (byte)0x87 });
			_responses.get("UtCamEvent_CheckLdmParis").put(TestAdapterMessageTypeEnum.camParameters, new byte[] { });
			// UtCamEvent/UtCamEvent_CheckPublicVehicle
			_messages.put("UtCamEvent_CheckPublicVehicle", new byte[] { (byte)0x23, (byte)0x01, (byte)0x20, (byte)0x2f, (byte)0x01, (byte)0x1d, (byte)0x86, (byte)0x01, (byte)0x1a, (byte)0xa0, (byte)0x00, (byte)0x15, (byte)0xb0, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb1, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb2, (byte)0x00, (byte)0x04, (byte)0x6e, (byte)0xf9, (byte)0xb0, (byte)0xbd, (byte)0xa1, (byte)0x00, (byte)0xff, (byte)0xb3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x01, (byte)0xb2, (byte)0x07, (byte)0xa2, (byte)0x00, (byte)0x0c, (byte)0xb4, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xb5, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xb6, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xa3, (byte)0x00, (byte)0x3c, (byte)0xa4, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xa5, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb9, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xba, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xbb, (byte)0x00, (byte)0x00, (byte)0xbc, (byte)0x00, (byte)0x00, (byte)0xbd, (byte)0x00, (byte)0x00, (byte)0xbe, (byte)0x00, (byte)0x00, (byte)0xa6, (byte)0x00, (byte)0xa7, (byte)0xa8, (byte)0x00, (byte)0xa1, (byte)0xbf, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc0, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc1, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc2, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc4, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc5, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc6, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc8, (byte)0x00, (byte)0x01, (byte)0x00, (byte)0xaa, (byte)0x00, (byte)0x0e, (byte)0xc9, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x01, (byte)0xca, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xcb, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xcc, (byte)0x00, (byte)0x01, (byte)0x00, (byte)0xe0, (byte)0x00, (byte)0x00, (byte)0xcd, (byte)0x00, (byte)0x00, (byte)0xce, (byte)0x00, (byte)0x00, (byte)0xd0, (byte)0x00, (byte)0x00, (byte)0xa9, (byte)0x00, (byte)0x15, (byte)0xcf, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xd0, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xd1, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xd2, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xd3, (byte)0x00, (byte)0x00, (byte)0xd4, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xd5, (byte)0x00, (byte)0x00, (byte)0xd6, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xd7, (byte)0x00, (byte)0x00, (byte)0xab, (byte)0x00, (byte)0x00 });
			_responses.put("UtCamEvent_CheckPublicVehicle", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtCamEvent_CheckPublicVehicle").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x2f, (byte)0x01, (byte)0x1d, (byte)0x86, (byte)0x01, (byte)0x1a, (byte)0xa0, (byte)0x00, (byte)0x15, (byte)0xb0, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb1, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb2, (byte)0x00, (byte)0x04, (byte)0x6e, (byte)0xf9, (byte)0xb0, (byte)0xbd, (byte)0xa1, (byte)0x00, (byte)0xff, (byte)0xb3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x01, (byte)0xb2, (byte)0x07, (byte)0xa2, (byte)0x00, (byte)0x0c, (byte)0xb4, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xb5, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xb6, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xa3, (byte)0x00, (byte)0x3c, (byte)0xa4, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xa5, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb9, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xba, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xbb, (byte)0x00, (byte)0x00, (byte)0xbc, (byte)0x00, (byte)0x00, (byte)0xbd, (byte)0x00, (byte)0x00, (byte)0xbe, (byte)0x00, (byte)0x00, (byte)0xa6, (byte)0x00, (byte)0xa7, (byte)0xa8, (byte)0x00, (byte)0xa1, (byte)0xbf, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc0, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc1, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc2, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc4, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc5, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc6, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc8, (byte)0x00, (byte)0x01, (byte)0x00, (byte)0xaa, (byte)0x00, (byte)0x0e, (byte)0xc9, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x01, (byte)0xca, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xcb, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xcc, (byte)0x00, (byte)0x01, (byte)0x00, (byte)0xe0, (byte)0x00, (byte)0x00, (byte)0xcd, (byte)0x00, (byte)0x00, (byte)0xce, (byte)0x00, (byte)0x00, (byte)0xd0, (byte)0x00, (byte)0x00, (byte)0xa9, (byte)0x00, (byte)0x15, (byte)0xcf, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xd0, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xd1, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xd2, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xd3, (byte)0x00, (byte)0x00, (byte)0xd4, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xd5, (byte)0x00, (byte)0x00, (byte)0xd6, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xd7, (byte)0x00, (byte)0x00, (byte)0xab, (byte)0x00, (byte)0x00 });
			_responses.get("UtCamEvent_CheckPublicVehicle").put(TestAdapterMessageTypeEnum.UtCamEvent, new byte[] { (byte)0x86, (byte)0x01, (byte)0x1a, (byte)0xa0, (byte)0x00, (byte)0x15, (byte)0xb0, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb1, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb2, (byte)0x00, (byte)0x04, (byte)0x6e, (byte)0xf9, (byte)0xb0, (byte)0xbd, (byte)0xa1, (byte)0x00, (byte)0xff, (byte)0xb3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x01, (byte)0xb2, (byte)0x07, (byte)0xa2, (byte)0x00, (byte)0x0c, (byte)0xb4, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xb5, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xb6, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xa3, (byte)0x00, (byte)0x3c, (byte)0xa4, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xa5, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb9, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xba, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xbb, (byte)0x00, (byte)0x00, (byte)0xbc, (byte)0x00, (byte)0x00, (byte)0xbd, (byte)0x00, (byte)0x00, (byte)0xbe, (byte)0x00, (byte)0x00, (byte)0xa6, (byte)0x00, (byte)0xa7, (byte)0xa8, (byte)0x00, (byte)0xa1, (byte)0xbf, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc0, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc1, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc2, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc4, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc5, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc6, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc8, (byte)0x00, (byte)0x01, (byte)0x00, (byte)0xaa, (byte)0x00, (byte)0x0e, (byte)0xc9, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x01, (byte)0xca, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xcb, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xcc, (byte)0x00, (byte)0x01, (byte)0x00, (byte)0xe0, (byte)0x00, (byte)0x00, (byte)0xcd, (byte)0x00, (byte)0x00, (byte)0xce, (byte)0x00, (byte)0x00, (byte)0xd0, (byte)0x00, (byte)0x00, (byte)0xa9, (byte)0x00, (byte)0x15, (byte)0xcf, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xd0, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xd1, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xd2, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xd3, (byte)0x00, (byte)0x00, (byte)0xd4, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xd5, (byte)0x00, (byte)0x00, (byte)0xd6, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xd7, (byte)0x00, (byte)0x00, (byte)0xab, (byte)0x00, (byte)0x00 });
			_responses.get("UtCamEvent_CheckPublicVehicle").put(TestAdapterMessageTypeEnum.checkLdm, new byte[] { (byte)0xa0, (byte)0x00, (byte)0x15, (byte)0xb0, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb1, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb2, (byte)0x00, (byte)0x04, (byte)0x6e, (byte)0xf9, (byte)0xb0, (byte)0xbd, (byte)0xa1, (byte)0x00, (byte)0xff, (byte)0xb3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x01, (byte)0xb2, (byte)0x07, (byte)0xa2, (byte)0x00, (byte)0x0c, (byte)0xb4, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xb5, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xb6, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0xa3, (byte)0x00, (byte)0x3c, (byte)0xa4, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xa5, (byte)0x00, (byte)0x0e, (byte)0xb7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb8, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xb9, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xba, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xbb, (byte)0x00, (byte)0x00, (byte)0xbc, (byte)0x00, (byte)0x00, (byte)0xbd, (byte)0x00, (byte)0x00, (byte)0xbe, (byte)0x00, (byte)0x00, (byte)0xa6, (byte)0x00, (byte)0xa7, (byte)0xa8, (byte)0x00, (byte)0xa1, (byte)0xbf, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc0, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc1, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc2, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc4, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc5, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc6, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc7, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xc8, (byte)0x00, (byte)0x01, (byte)0x00, (byte)0xaa, (byte)0x00, (byte)0x0e, (byte)0xc9, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x01, (byte)0xca, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xcb, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xcc, (byte)0x00, (byte)0x01, (byte)0x00, (byte)0xe0, (byte)0x00, (byte)0x00, (byte)0xcd, (byte)0x00, (byte)0x00, (byte)0xce, (byte)0x00, (byte)0x00, (byte)0xd0, (byte)0x00, (byte)0x00, (byte)0xa9, (byte)0x00, (byte)0x15, (byte)0xcf, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xd0, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xd1, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xd2, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xd3, (byte)0x00, (byte)0x00, (byte)0xd4, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xd5, (byte)0x00, (byte)0x00, (byte)0xd6, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xd7, (byte)0x00, (byte)0x00, (byte)0xab, (byte)0x00, (byte)0x00 });
			// TODO To be continued
			// UtDenmEvent/Situation
			_messages.put("UtDenmEvent_Situation", new byte[] { (byte)0x23, (byte)0x00, (byte)0x14, (byte)0x3a, (byte)0x00, (byte)0x11, (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x67, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.put("UtDenmEvent_Situation", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtDenmEvent_Situation").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x3a, (byte)0x00, (byte)0x11, (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x67, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtDenmEvent_Situation").put(TestAdapterMessageTypeEnum.UtDenmEvent, new byte[] { (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x67, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtDenmEvent_Situation").put(TestAdapterMessageTypeEnum.Situation, new byte[] { (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x67, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtDenmEvent_Situation").put(TestAdapterMessageTypeEnum.cause, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x67 });
			_responses.get("UtDenmEvent_Situation").put(TestAdapterMessageTypeEnum.subCause, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			// UtDenmEvent/Cancellation
			_messages.put("UtDenmEvent_Cancellation", new byte[] { (byte)0x23, (byte)0x00, (byte)0x2b, (byte)0x3a, (byte)0x00, (byte)0x28, (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x3e, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x47, (byte)0x00, (byte)0x14, (byte)0x8d, (byte)0x00, (byte)0x11, (byte)0xe2, (byte)0x00, (byte)0x0e, (byte)0xb3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x01, (byte)0xb2, (byte)0x07, (byte)0xe3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xaa });
			_responses.put("UtDenmEvent_Cancellation", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtDenmEvent_Cancellation").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x3a, (byte)0x00, (byte)0x28, (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x3e, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x47, (byte)0x00, (byte)0x14, (byte)0x8d, (byte)0x00, (byte)0x11, (byte)0xe2, (byte)0x00, (byte)0x0e, (byte)0xb3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x01, (byte)0xb2, (byte)0x07, (byte)0xe3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xaa });
			_responses.get("UtDenmEvent_Cancellation").put(TestAdapterMessageTypeEnum.UtDenmEvent, new byte[] { (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x3e, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x47, (byte)0x00, (byte)0x14, (byte)0x8d, (byte)0x00, (byte)0x11, (byte)0xe2, (byte)0x00, (byte)0x0e, (byte)0xb3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x01, (byte)0xb2, (byte)0x07, (byte)0xe3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xaa });
			_responses.get("UtDenmEvent_Cancellation").put(TestAdapterMessageTypeEnum.Situation, new byte[] { (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x3e, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtDenmEvent_Cancellation").put(TestAdapterMessageTypeEnum.cause, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x3e });
			_responses.get("UtDenmEvent_Cancellation").put(TestAdapterMessageTypeEnum.subCause, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtDenmEvent_Cancellation").put(TestAdapterMessageTypeEnum.EventOption, new byte[] { (byte)0x8d, (byte)0x00, (byte)0x11, (byte)0xe2, (byte)0x00, (byte)0x0e, (byte)0xb3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x01, (byte)0xb2, (byte)0x07, (byte)0xe3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xaa });
			_responses.get("UtDenmEvent_Cancellation").put(TestAdapterMessageTypeEnum.eventCancellation, new byte[] { (byte)0xe2, (byte)0x00, (byte)0x0e, (byte)0xb3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x01, (byte)0xb2, (byte)0x07, (byte)0xe3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xaa });
			_responses.get("UtDenmEvent_Cancellation").put(TestAdapterMessageTypeEnum.stationID, new byte[] { (byte)0x00, (byte)0x01, (byte)0xb2, (byte)0x07 });
			_responses.get("UtDenmEvent_Cancellation").put(TestAdapterMessageTypeEnum.sequenceNo, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xaa });
			// UtDenmEvent/Negation
			_messages.put("UtDenmEvent_Negation", new byte[] { (byte)0x23, (byte)0x00, (byte)0x2b, (byte)0x3a, (byte)0x00, (byte)0x28, (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x23, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x47, (byte)0x00, (byte)0x14, (byte)0x8a, (byte)0x00, (byte)0x11, (byte)0xe2, (byte)0x00, (byte)0x0e, (byte)0xb3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x01, (byte)0xb2, (byte)0x07, (byte)0xe3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xaa });
			_responses.put("UtDenmEvent_Negation", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtDenmEvent_Negation").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x3a, (byte)0x00, (byte)0x28, (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x23, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x47, (byte)0x00, (byte)0x14, (byte)0x8a, (byte)0x00, (byte)0x11, (byte)0xe2, (byte)0x00, (byte)0x0e, (byte)0xb3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x01, (byte)0xb2, (byte)0x07, (byte)0xe3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xaa });
			_responses.get("UtDenmEvent_Negation").put(TestAdapterMessageTypeEnum.UtDenmEvent, new byte[] { (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x23, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x47, (byte)0x00, (byte)0x14, (byte)0x8a, (byte)0x00, (byte)0x11, (byte)0xe2, (byte)0x00, (byte)0x0e, (byte)0xb3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x01, (byte)0xb2, (byte)0x07, (byte)0xe3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xaa });
			_responses.get("UtDenmEvent_Negation").put(TestAdapterMessageTypeEnum.Situation, new byte[] { (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x23, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtDenmEvent_Negation").put(TestAdapterMessageTypeEnum.cause, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x23 });
			_responses.get("UtDenmEvent_Negation").put(TestAdapterMessageTypeEnum.subCause, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtDenmEvent_Negation").put(TestAdapterMessageTypeEnum.EventOption, new byte[] { (byte)0x8a, (byte)0x00, (byte)0x11, (byte)0xe2, (byte)0x00, (byte)0x0e, (byte)0xb3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x01, (byte)0xb2, (byte)0x07, (byte)0xe3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xaa });
			_responses.get("UtDenmEvent_Negation").put(TestAdapterMessageTypeEnum.eventNegation, new byte[] { (byte)0xe2, (byte)0x00, (byte)0x0e, (byte)0xb3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x01, (byte)0xb2, (byte)0x07, (byte)0xe3, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xaa });
			_responses.get("UtDenmEvent_Negation").put(TestAdapterMessageTypeEnum.stationID, new byte[] { (byte)0x00, (byte)0x01, (byte)0xb2, (byte)0x07 });
			_responses.get("UtDenmEvent_Negation").put(TestAdapterMessageTypeEnum.sequenceNo, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xaa });
			// UtDenmEvent/eventTrafficFlowEffect
			_messages.put("UtDenmEvent_TrafficFlowEffect", new byte[] { (byte)0x23, (byte)0x00, (byte)0x1e, (byte)0x3a, (byte)0x00, (byte)0x1b, (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x2a, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x47, (byte)0x00, (byte)0x07, (byte)0x89, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x02 });
			_responses.put("UtDenmEvent_TrafficFlowEffect", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtDenmEvent_TrafficFlowEffect").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x3a, (byte)0x00, (byte)0x1b, (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x2a, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x47, (byte)0x00, (byte)0x07, (byte)0x89, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x02 });
			_responses.get("UtDenmEvent_TrafficFlowEffect").put(TestAdapterMessageTypeEnum.UtDenmEvent, new byte[] { (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x2a, (byte)0x88, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x47, (byte)0x00, (byte)0x07, (byte)0x89, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x02 });
			_responses.get("UtDenmEvent_TrafficFlowEffect").put(TestAdapterMessageTypeEnum.Situation, new byte[] { (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x2a, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtDenmEvent_TrafficFlowEffect").put(TestAdapterMessageTypeEnum.cause, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x2a });
			_responses.get("UtDenmEvent_TrafficFlowEffect").put(TestAdapterMessageTypeEnum.subCause, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtDenmEvent_TrafficFlowEffect").put(TestAdapterMessageTypeEnum.EventOption, new byte[] { (byte)0x89, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x02 });
			_responses.get("UtDenmEvent_TrafficFlowEffect").put(TestAdapterMessageTypeEnum.eventTrafficFlowEffect, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x02 });
			// UtDenmEvent/LinkedCause
			_messages.put("UtDenmEvent_LinkedCause", new byte[] { (byte)0x23, (byte)0x00, (byte)0x2b, (byte)0x3a, (byte)0x00, (byte)0x28, (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x02, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x47, (byte)0x00, (byte)0x14, (byte)0x8e, (byte)0x00, (byte)0x11, (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x2a, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.put("UtDenmEvent_LinkedCause", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtDenmEvent_LinkedCause").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x3a, (byte)0x00, (byte)0x28, (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x02, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x47, (byte)0x00, (byte)0x14, (byte)0x8e, (byte)0x0e, (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x2a, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtDenmEvent_LinkedCause").put(TestAdapterMessageTypeEnum.UtDenmEvent, new byte[] { (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x02, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x47, (byte)0x00, (byte)0x14, (byte)0x8e, (byte)0x00, (byte)0x11, (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x2a, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtDenmEvent_LinkedCause").put(TestAdapterMessageTypeEnum.Situation, new byte[] { (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x02, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtDenmEvent_LinkedCause").put(TestAdapterMessageTypeEnum.cause, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x02 });
			_responses.get("UtDenmEvent_LinkedCause").put(TestAdapterMessageTypeEnum.subCause, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtDenmEvent_LinkedCause").put(TestAdapterMessageTypeEnum.EventOption, new byte[] { (byte)0x8e, (byte)0x00, (byte)0x11, (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x2a, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtDenmEvent_LinkedCause").put(TestAdapterMessageTypeEnum.eventLinkedCause, new byte[] { (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x2a, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtDenmEvent_LinkedCause").put(TestAdapterMessageTypeEnum.Situation, new byte[] { (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x2a, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtDenmEvent_LinkedCause").put(TestAdapterMessageTypeEnum.cause, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x2a });
			_responses.get("UtDenmEvent_LinkedCause").put(TestAdapterMessageTypeEnum.subCause, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			// UtDenmEvent/ExpirationTime
			_messages.put("UtDenmEvent_ExpirationTime", new byte[] { (byte)0x23, (byte)0x00, (byte)0x1e, (byte)0x3a, (byte)0x00, (byte)0x1b, (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x67, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x47, (byte)0x00, (byte)0x07, (byte)0x8c, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff });
			_responses.put("UtDenmEvent_ExpirationTime", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtDenmEvent_ExpirationTime").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x3a, (byte)0x00, (byte)0x1b, (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x67, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x47, (byte)0x00, (byte)0x07, (byte)0x8c, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff });
			_responses.get("UtDenmEvent_ExpirationTime").put(TestAdapterMessageTypeEnum.UtDenmEvent, new byte[] { (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x67, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x47, (byte)0x00, (byte)0x07, (byte)0x8c, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff });
			_responses.get("UtDenmEvent_ExpirationTime").put(TestAdapterMessageTypeEnum.Situation, new byte[] { (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x67, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtDenmEvent_ExpirationTime").put(TestAdapterMessageTypeEnum.cause, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x67 });
			_responses.get("UtDenmEvent_ExpirationTime").put(TestAdapterMessageTypeEnum.subCause, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtDenmEvent_ExpirationTime").put(TestAdapterMessageTypeEnum.EventOption, new byte[] { (byte)0x8c, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff });
			_responses.get("UtDenmEvent_ExpirationTime").put(TestAdapterMessageTypeEnum.eventExpirationTime, new byte[] { (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff });
			// UtDenmEvent/ExpirationTimeFrequency
			_messages.put("UtDenmEvent_ExpirationTimeFrequency", new byte[] { (byte)0x23, (byte)0x00, (byte)0x2b, (byte)0x3a, (byte)0x00, (byte)0x28, (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x67, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x47, (byte)0x00, (byte)0x14, (byte)0x48, (byte)0x00, (byte)0x11, (byte)0x48, (byte)0x00, (byte)0x0e, (byte)0x90, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x91, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xff });
			_responses.put("UtDenmEvent_ExpirationTimeFrequency", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtDenmEvent_ExpirationTimeFrequency").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x3a, (byte)0x00, (byte)0x28, (byte)0x46, (byte)0x00, (byte)0x0, (byte)0x00, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x67, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x47, (byte)0x00, (byte)0x14, (byte)0x48, (byte)0x00, (byte)0x11, (byte)0x48, (byte)0x00, (byte)0x0e, (byte)0x90, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x91, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xff });
			_responses.get("UtDenmEvent_ExpirationTimeFrequency").put(TestAdapterMessageTypeEnum.UtDenmEvent, new byte[] { (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x67, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtDenmEvent_ExpirationTimeFrequency").put(TestAdapterMessageTypeEnum.Situation, new byte[] { (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x67, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtDenmEvent_ExpirationTimeFrequency").put(TestAdapterMessageTypeEnum.cause, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x67 });
			_responses.get("UtDenmEvent_ExpirationTimeFrequency").put(TestAdapterMessageTypeEnum.subCause, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtDenmEvent_ExpirationTimeFrequency").put(TestAdapterMessageTypeEnum.EventOption, new byte[] { (byte)0x47, (byte)0x10, (byte)0x48, (byte)0x00, (byte)0x11, (byte)0x48, (byte)0x00, (byte)0x0e, (byte)0x90, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x91, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xff });
			_responses.get("UtDenmEvent_ExpirationTimeFrequency").put(TestAdapterMessageTypeEnum.EventTimeFrequency, new byte[] { (byte)0x48, (byte)0x00, (byte)0x0e, (byte)0x90, (byte)0x00, (byte)0x04, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff, (byte)0x91, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xff });
			_responses.get("UtDenmEvent_ExpirationTimeFrequency").put(TestAdapterMessageTypeEnum.expirationTime, new byte[] { (byte)0xff, (byte)0xff, (byte)0xff, (byte)0xff });
			_responses.get("UtDenmEvent_ExpirationTimeFrequency").put(TestAdapterMessageTypeEnum.frequency, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xff });
			// UtDenmEvent/EventChar
			_messages.put("UtDenmEvent_EventChar", new byte[] { (byte)0x23, (byte)0x00, (byte)0x33, (byte)0x3a, (byte)0x00, (byte)0x30, (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x67, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x47, (byte)0x00, (byte)0x1c, (byte)0x8f, (byte)0x00, (byte)0x19, (byte)0x8f, (byte)0x00, (byte)0x16, (byte)0x92, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0x93, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x01, (byte)0x94, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x01, (byte)0x95, (byte)0x00, (byte)0x01, (byte)0x00 });
			_responses.put("UtDenmEvent_EventChar", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtDenmEvent_EventChar").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x3a, (byte)0x00, (byte)0x30, (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x67, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x47, (byte)0x00, (byte)0x1c, (byte)0x8f, (byte)0x00, (byte)0x19, (byte)0x8f, (byte)0x00, (byte)0x16, (byte)0x92, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0x93, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x01, (byte)0x94, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x01, (byte)0x95, (byte)0x00, (byte)0x01, (byte)0x00 });
			_responses.get("UtDenmEvent_EventChar").put(TestAdapterMessageTypeEnum.UtDenmEvent, new byte[] { (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x67, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x47, (byte)0x00, (byte)0x1c, (byte)0x8f, (byte)0x00, (byte)0x19, (byte)0x8f, (byte)0x00, (byte)0x16, (byte)0x92, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0x93, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x01, (byte)0x94, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x01, (byte)0x95, (byte)0x00, (byte)0x01, (byte)0x00 });
			_responses.get("UtDenmEvent_EventChar").put(TestAdapterMessageTypeEnum.Situation, new byte[] { (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x67, (byte)0x88, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtDenmEvent_EventChar").put(TestAdapterMessageTypeEnum.cause, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x67 });
			_responses.get("UtDenmEvent_EventChar").put(TestAdapterMessageTypeEnum.subCause, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtDenmEvent_EventChar").put(TestAdapterMessageTypeEnum.EventOption, new byte[] { (byte)0x47, (byte)0x00, (byte)0x1c, (byte)0x8f, (byte)0x00, (byte)0x19, (byte)0x8f, (byte)0x00, (byte)0x16, (byte)0x92, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0x93, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x01, (byte)0x94, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x01, (byte)0x95, (byte)0x00, (byte)0x01, (byte)0x00 });
			_responses.get("UtDenmEvent_EventChar").put(TestAdapterMessageTypeEnum.eventCharact, new byte[] { (byte)0x8f, (byte)0x00, (byte)0x19, (byte)0x8f, (byte)0x00, (byte)0x16, (byte)0x92, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0x93, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x01, (byte)0x94, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x01, (byte)0x95, (byte)0x00, (byte)0x01, (byte)0x00 });
			_responses.get("UtDenmEvent_EventChar").put(TestAdapterMessageTypeEnum.eventCharact, new byte[] { (byte)0x8f, (byte)0x00, (byte)0x16, (byte)0x92, (byte)0x00, (byte)0x01, (byte)0x01, (byte)0x93, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x01, (byte)0x94, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x01, (byte)0x95, (byte)0x00, (byte)0x01, (byte)0x00 });
			_responses.get("UtDenmEvent_EventChar").put(TestAdapterMessageTypeEnum.eventmobility, new byte[] { (byte)0x01 });
			_responses.get("UtDenmEvent_EventChar").put(TestAdapterMessageTypeEnum.causeType, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x01 });
			_responses.get("UtDenmEvent_EventChar").put(TestAdapterMessageTypeEnum.relevance, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x01 });
			_responses.get("UtDenmEvent_EventChar").put(TestAdapterMessageTypeEnum.timeCriticality, new byte[] { (byte)0x00 });
		} // UtEvent
		/*
		 * UtCheck
		 */
		{
			// UtCheck/UtDenmEvent
			_messages.put("UtCheck_UtDenmEvent", new byte[] { (byte)0x22, (byte)0x00, (byte)0x17, (byte)0x23, (byte)0x00, (byte)0x14, (byte)0x3a, (byte)0x00, (byte)0x11, (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x67, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.put("UtCheck_UtDenmEvent", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtCheck_UtDenmEvent").put(TestAdapterMessageTypeEnum.UtCheck, new byte[] { (byte)0x23, (byte)0x00, (byte)0x14, (byte)0x3a, (byte)0x00, (byte)0x11, (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x67, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtCheck_UtDenmEvent").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x3a, (byte)0x00, (byte)0x11, (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x67, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtCheck_UtDenmEvent").put(TestAdapterMessageTypeEnum.UtDenmEvent, new byte[] { (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x67, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtCheck_UtDenmEvent").put(TestAdapterMessageTypeEnum.Situation, new byte[] { (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x67, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtCheck_UtDenmEvent").put(TestAdapterMessageTypeEnum.cause, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x67 });
			_responses.get("UtCheck_UtDenmEvent").put(TestAdapterMessageTypeEnum.subCause, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			// UtCheck/UtDenmEventCancellation
			_messages.put("UtCheck_UtDenmEventCancellation", new byte[] { (byte)0x22, (byte)0x00, (byte)0x21, (byte)0x23, (byte)0x00, (byte)0x1e, (byte)0x3a, (byte)0x00, (byte)0x1b, (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x3e, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x47, (byte)0x00, (byte)0x07, (byte)0x8d, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xff });
			_responses.put("UtCheck_UtDenmEventCancellation", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtCheck_UtDenmEventCancellation").put(TestAdapterMessageTypeEnum.UtCheck, new byte[] { (byte)0x23, (byte)0x00, (byte)0x1e, (byte)0x3a, (byte)0x00, (byte)0x1b, (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x3e, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x47, (byte)0x00, (byte)0x07, (byte)0x8d, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xff });
			_responses.get("UtCheck_UtDenmEventCancellation").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x3a, (byte)0x00, (byte)0x1b, (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x3e, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x47, (byte)0x00, (byte)0x07, (byte)0x8d, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xff });
			_responses.get("UtCheck_UtDenmEventCancellation").put(TestAdapterMessageTypeEnum.UtDenmEvent, new byte[] { (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x3e, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x47, (byte)0x00, (byte)0x07, (byte)0x8d, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xff });
			_responses.get("UtCheck_UtDenmEventCancellation").put(TestAdapterMessageTypeEnum.Situation, new byte[] { (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x3e, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtCheck_UtDenmEventCancellation").put(TestAdapterMessageTypeEnum.cause, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x3e });
			_responses.get("UtCheck_UtDenmEventCancellation").put(TestAdapterMessageTypeEnum.subCause, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtCheck_UtDenmEventCancellation").put(TestAdapterMessageTypeEnum.eventCancellation, new byte[] { (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xff });
			// UtCheck/UtDenmEventNegation
			_messages.put("UtCheck_UtDenmEventNegation", new byte[] { (byte)0x22, (byte)0x00, (byte)0x1e, (byte)0x23, (byte)0x00, (byte)0x1b, (byte)0x3a, (byte)0x00, (byte)0x18, (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x23, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x47, (byte)0x00, (byte)0x04, (byte)0x8a, (byte)0x00, (byte)0x01, (byte)0x01 });
			_responses.put("UtCheck_UtDenmEventNegation", new LinkedHashMap<TestAdapterMessageTypeEnum, byte[]>());
			_responses.get("UtCheck_UtDenmEventNegation").put(TestAdapterMessageTypeEnum.UtCheck, new byte[] { (byte)0x23, (byte)0x00, (byte)0x1b, (byte)0x3a, (byte)0x00, (byte)0x18, (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x23, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x47, (byte)0x00, (byte)0x04, (byte)0x8a, (byte)0x00, (byte)0x01, (byte)0x01 });
			_responses.get("UtCheck_UtDenmEventNegation").put(TestAdapterMessageTypeEnum.UtEvent, new byte[] { (byte)0x3a, (byte)0x00, (byte)0x18, (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x23, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x47, (byte)0x00, (byte)0x04, (byte)0x8a, (byte)0x00, (byte)0x01, (byte)0x01 });
			_responses.get("UtCheck_UtDenmEventNegation").put(TestAdapterMessageTypeEnum.UtDenmEvent, new byte[] { (byte)0x46, (byte)0x00, (byte)0x0e, (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x23, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x47, (byte)0x00, (byte)0x04, (byte)0x8a, (byte)0x00, (byte)0x01, (byte)0x01 });
			_responses.get("UtCheck_UtDenmEventNegation").put(TestAdapterMessageTypeEnum.Situation, new byte[] { (byte)0x87, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x23, (byte)0x88, (byte)0x00, (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 });
			_responses.get("UtCheck_UtDenmEventNegation").put(TestAdapterMessageTypeEnum.eventNegation, new byte[] { (byte)0x01 });
		} // UtCheck
	}

	/**
	 * @throws java.lang.Exception
	 */
	@AfterClass
	public static void tearDownAfterClass() throws Exception {
		_iut = null;
		_messages = null;
	}

	/**
	 * @throws java.lang.Exception
	 */
	@Before
	public void setUp() throws Exception {
		//empty
	}

	/**
	 * @throws java.lang.Exception
	 */
	@After
	public void tearDown() throws Exception {
		//empty
	}

	/**
	 * Test method for {@link org.etsi.its.codec.adapter.UpperTesterCodecImpl#Decode(byte[])}.
	 */
	@Test
	public final void testDecode() {
		assertNull(_iut.Decode(null));

		assertNull(_iut.Decode(new byte[] { }));

		for (String message : _messages.keySet()) {
			IValue result = _iut.Decode(_messages.get(message));
			assertNotNull(String.format("#### Process message %s", message), result != null);
			if (message.startsWith("UtDenmEvent_")) {
				testUpperTesterCode(message, result);
			} else {
				for (TestAdapterMessageTypeEnum typeId : _responses.get(message).keySet()) {
					// Check type identifier
					assertNotNull(String.format("#### Process message %s - %s", message, typeId.name()), result.getType(typeId));
					// Check type value
					assertArrayEquals(
						String.format("#### Process message value %s - %s", message, typeId.name()), 
						_responses.get(message).get(typeId), 
						(byte[])result.getType(typeId).getValue());
				} // End of 'for' statement
			}
		} // End of 'for' statement
	}

	private void testUpperTesterCode(String message, IValue tlvs) {
		TestAdapterMessageTypeEnum current = (TestAdapterMessageTypeEnum)tlvs.getFirstType().getTypeId(); // UtEvent
		current = (TestAdapterMessageTypeEnum)tlvs.getNextType().getTypeId(); // UtDenmEvent
		assertEquals(TestAdapterMessageTypeEnum.UtDenmEvent.name(), current.name()); // Skip situation type
		current = (TestAdapterMessageTypeEnum)tlvs.getNextType().getTypeId(); // Skip Situation
		assertEquals(TestAdapterMessageTypeEnum.Situation.name(), current.name()); // Skip situation type
		byte[] cause = (byte[])tlvs.getNextType().getValue(); // Get cause
		byte[] subCause = (byte[])tlvs.getNextType().getValue(); // subCause
		if (message != "UtDenmEvent_LinkedCause") {
			assertArrayEquals(
					String.format("#### Process message value %s - %s", message, TestAdapterMessageTypeEnum.cause.name()), 
					(byte[])_responses.get(message).get(TestAdapterMessageTypeEnum.cause), 
					(byte[])cause);
			assertArrayEquals(
					String.format("#### Process message value %s - %s", message, TestAdapterMessageTypeEnum.subCause.name()), 
					(byte[])_responses.get(message).get(TestAdapterMessageTypeEnum.subCause), 
					(byte[])subCause);
		}
		IType eventOption = (IType) tlvs.getNextType();
		if (eventOption != null) { // The optional 'EventOption' field is set
			current = (TestAdapterMessageTypeEnum)eventOption.getTypeId(); // DataVersion, eventNegation, eventTrafficFlowEffect
			if (current == TestAdapterMessageTypeEnum.EventOption) {
				current = (TestAdapterMessageTypeEnum)tlvs.getNextType().getTypeId();
			}
			if (current == TestAdapterMessageTypeEnum.eventLinkedCause) {
				assertEquals("eventLinkedCause", TestAdapterMessageTypeEnum.Situation.name(), tlvs.getNextType().getTypeId().name()); // Skip situation type
			} else if (current == TestAdapterMessageTypeEnum.EventTimeFrequency) {
				tlvs.getNextType(); // Skip EventTimeFrequency type
				byte[] expirationTime = (byte[])tlvs.getNextType().getValue();
				assertArrayEquals(
						String.format("#### Process message value %s - %s", message, TestAdapterMessageTypeEnum.expirationTime.name()), 
						(byte[])_responses.get(message).get(TestAdapterMessageTypeEnum.expirationTime), 
						(byte[])expirationTime);
				byte[] frequency = (byte[])tlvs.getNextType().getValue();
				assertArrayEquals(
						String.format("#### Process message value %s - %s", message, TestAdapterMessageTypeEnum.frequency.name()), 
						(byte[])_responses.get(message).get(TestAdapterMessageTypeEnum.frequency), 
						(byte[])frequency);
			} else if ((current == TestAdapterMessageTypeEnum.eventCancellation) || (current == TestAdapterMessageTypeEnum.eventNegation)) {
				current = (TestAdapterMessageTypeEnum)tlvs.getNextType().getTypeId(); // Skip ActionID
				byte[] stationID = (byte[])tlvs.getNextType().getValue(); // Get stationID
				assertArrayEquals(
						String.format("#### Process message value %s - %s", message, TestAdapterMessageTypeEnum.eventCancellation.name()), 
						(byte[])_responses.get(message).get(TestAdapterMessageTypeEnum.stationID), 
						(byte[])stationID);
				byte[] sequenceNo = (byte[])tlvs.getNextType().getValue(); // sequenceNo
				assertArrayEquals(
						String.format("#### Process message value %s - %s", message, TestAdapterMessageTypeEnum.sequenceNo.name()), 
						(byte[])_responses.get(message).get(TestAdapterMessageTypeEnum.sequenceNo), 
						(byte[])sequenceNo);
			} else if (current == TestAdapterMessageTypeEnum.eventCharact) {
				assertEquals("eventCharact", TestAdapterMessageTypeEnum.eventCharact.name(), tlvs.getNextType().getTypeId().name()); // Skip EventExpirationTimeFrequency type
				final byte[] eventmobility = (byte[])tlvs.getNextType().getValue();
				assertArrayEquals(
						String.format("#### Process message value %s - %s", message, TestAdapterMessageTypeEnum.eventmobility.name()), 
						(byte[])_responses.get(message).get(TestAdapterMessageTypeEnum.eventmobility), 
						(byte[])eventmobility);
				final byte[] causeType = (byte[])tlvs.getNextType().getValue();
				assertArrayEquals(
						String.format("#### Process message value %s - %s", message, TestAdapterMessageTypeEnum.causeType.name()), 
						(byte[])_responses.get(message).get(TestAdapterMessageTypeEnum.causeType), 
						(byte[])causeType);
				final byte[] relevance = (byte[])tlvs.getNextType().getValue();
				assertArrayEquals(
						String.format("#### Process message value %s - %s", message, TestAdapterMessageTypeEnum.relevance.name()), 
						(byte[])_responses.get(message).get(TestAdapterMessageTypeEnum.relevance), 
						(byte[])relevance);
				final byte[] timeCriticality = (byte[])tlvs.getNextType().getValue();
				assertArrayEquals(
						String.format("#### Process message value %s - %s", message, TestAdapterMessageTypeEnum.timeCriticality.name()), 
						(byte[])_responses.get(message).get(TestAdapterMessageTypeEnum.timeCriticality), 
						(byte[])timeCriticality);
			}
		}
	}

//	/**
//	 * Test method for {@link org.etsi.its.codec.adapter.UpperTesterCodecImpl#Encode(org.etsi.its.codec.TestAdapterMessageTypeEnum, byte[])}.
//	 */
//	@Test
//	public final void testEncode() {
//		assertTrue(true);
//	}

}
