private static void messageParser() throws IOException{
		//Ok, lets use the potentially broken thing ot test the broken thing
		//right?
		
		MessageParser MP = new MessageParser();
		ByteArrayOutputStream os=new  ByteArrayOutputStream();
		ByteArrayInputStream bis;
		byte [] info = testGen(20);
		byte [] id = testGen(20);
		byte [] bitField = testGen(80);
		MP.sendHandShake(os,info,id);
		bis = new ByteArrayInputStream(os.toByteArray());
		HandShake hs = MP.readHandShake(bis);
		System.out.println("	Test 1: "+(Arrays.equals(info,hs.hashInfo)&&Arrays.equals(id,hs.peerID)));
		//MP.bitfield(os, new byte[50]);
		os.reset();
		MP.choke(os);
		bis = new ByteArrayInputStream(os.toByteArray());
		MP.readMessage(bis);
		System.out.println("	Test 2: "+(MP.getNext().type==PeerMessage.Type.CHOKE));
		
		
		os.reset();
		MP.unchoke(os);
		bis = new ByteArrayInputStream(os.toByteArray());
		MP.readMessage(bis);
		System.out.println("	Test 3: "+(MP.getNext().type==PeerMessage.Type.UNCHOKE));
		
		os.reset();
		MP.interested(os);
		bis = new ByteArrayInputStream(os.toByteArray());
		MP.readMessage(bis);
		System.out.println("	Test 4: "+(MP.getNext().type==PeerMessage.Type.INTERESTED));
		
		os.reset();
		MP.not_interested(os);
		bis = new ByteArrayInputStream(os.toByteArray());
		MP.readMessage(bis);
		System.out.println("	Test 5: "+(MP.getNext().type==PeerMessage.Type.NOT_INTERESTED));
		
		os.reset();
		MP.bitfield(os,bitField);
		bis = new ByteArrayInputStream(os.toByteArray());
		MP.readMessage(bis);
		System.out.println("	Test 6: "+(Arrays.equals(bitField, MP.getNext().bitfield)));
		
		os.reset();
		MP.have(os,10241139);
		bis = new ByteArrayInputStream(os.toByteArray());
		MP.readMessage(bis);
		System.out.println("	Test 7: "+(MP.getNext().piece==10241139));
		
		os.reset();
		MP.request(os, 10199,10211,12311);
		bis = new ByteArrayInputStream(os.toByteArray());
		MP.readMessage(bis);
		PeerMessage p = MP.getNext();
		System.out.println("	Test 8: "+(p.begin==10211&&p.index==10199&&p.length==12311&&p.type==PeerMessage.Type.REQUEST));
		
		byte [] block = testGen(10234);
		os.reset();
		MP.piece(os, 0, 300, block);
		bis = new ByteArrayInputStream(os.toByteArray());
		MP.readMessage(bis);
		p = MP.getNext();
		System.out.println("	Test 9: "+(Arrays.equals(block, p.block)&&p.index==0&&p.begin==300));
		
		os.reset();
		MP.cancel(os, 10199,10211,12311);
		bis = new ByteArrayInputStream(os.toByteArray());
		MP.readMessage(bis);
		p = MP.getNext();
		System.out.println("	Test 10: "+(p.begin==10211&&p.index==10199&&p.length==12311&&p.type==PeerMessage.Type.CANCEL));
		
		
	}