public void testTwoAndHalfPackets() throws IOException {
		if (log.isLoggable(Level.FINE))
			log.log(Level.FINE, "started");
			
		ByteBuffer b = ByteBuffer.allocate(200);
		String fullString = HALF1+HALF2;
		int size = fullString.getBytes().length;
		b.putInt(size); //2*10 because chars are 2 bytes.
		helper.putString(b, fullString);
		b.put(PACKET_SEPARATOR);
		b.putInt(size);
		helper.putString(b, fullString);
		b.put(PACKET_SEPARATOR);
		b.putInt(size);
		helper.putString(b, HALF1);
		helper.doneFillingBuffer(b);
		
		String[] methods = new String[2];
		methods[0] = PACKET_METHOD;
		methods[1] = PACKET_METHOD;		
		
		unpacketizer.incomingData(b, null);
		CalledMethod[] calledMethods = listener.expect(methods);			
		
		//need to verify first 2 packets and then send 
		//both half of last and half of next to finish off tests.
		verifyBuffer(calledMethods[0], fullString, size);
		verifyBuffer(calledMethods[1], fullString, size);
		
		helper.eraseBuffer(b);
		helper.putString(b, HALF2);
		b.put(PACKET_SEPARATOR);
		b.putInt(size); //2*10 because chars are 2 bytes.
		helper.putString(b, HALF1);
		helper.doneFillingBuffer(b);
		
		if (log.isLoggable(Level.FINE))
			log.log(Level.FINE, "FEED NEXT BUFFER********************");
			
		unpacketizer.incomingData(b, null);
		CalledMethod method = listener.expect(PACKET_METHOD);
		
		verifyBuffer(method, fullString, size);

		//finish up by feeding last half of last packet
		helper.eraseBuffer(b);
		helper.putString(b, HALF2);
		b.put(PACKET_SEPARATOR);
		helper.doneFillingBuffer(b);
		
		unpacketizer.incomingData(b, null);
		method = listener.expect(PACKET_METHOD);
		
		verifyBuffer(method, fullString, size);
				
		if (log.isLoggable(Level.FINE))
			log.log(Level.FINE, "ended");		
	}