@Test
	public void testConstructor_IllegalArgumentException() {
		boolean exceptionThrown = false;

		try {
			new PaymentRequest(null, 1, "buyer", "seller", Currency.BTC, 12, System.currentTimeMillis());
		} catch (IllegalArgumentException e) {
			exceptionThrown = true;
		}
		assertTrue(exceptionThrown);
		exceptionThrown = false;
		
		try {
			new PaymentRequest(PKIAlgorithm.DEFAULT, 0, "buyer", "seller", Currency.BTC, 12, System.currentTimeMillis());
		} catch (IllegalArgumentException e) {
			exceptionThrown = true;
		}
		assertTrue(exceptionThrown);
		exceptionThrown = false;
		
		try {
			new PaymentRequest(PKIAlgorithm.DEFAULT, 256, "buyer", "seller", Currency.BTC, 1, 1);
		} catch (IllegalArgumentException e) {
			exceptionThrown = true;
		}
		assertTrue(exceptionThrown);
		exceptionThrown = false;
		
		try {
			new PaymentRequest(PKIAlgorithm.DEFAULT, 1, null, "seller", Currency.BTC, 12, System.currentTimeMillis());
		} catch (IllegalArgumentException e) {
			exceptionThrown = true;
		}
		assertTrue(exceptionThrown);
		exceptionThrown = false;
		
		try {
			new PaymentRequest(PKIAlgorithm.DEFAULT, 1, "buyer", "", Currency.BTC, 12, System.currentTimeMillis());
		} catch (IllegalArgumentException e) {
			exceptionThrown = true;
		}
		assertTrue(exceptionThrown);
		exceptionThrown = false;
		
		try {
			new PaymentRequest(PKIAlgorithm.DEFAULT, 1, "buyer", "seller", null, 12, System.currentTimeMillis());
		} catch (IllegalArgumentException e) {
			exceptionThrown = true;
		}
		assertTrue(exceptionThrown);
		exceptionThrown = false;
		
		try {
			new PaymentRequest(PKIAlgorithm.DEFAULT, 1, "buyer", "seller", Currency.BTC, 0, System.currentTimeMillis());
		} catch (IllegalArgumentException e) {
			exceptionThrown = true;
		}
		assertTrue(exceptionThrown);
		exceptionThrown = false;
		
		try {
			new PaymentRequest(PKIAlgorithm.DEFAULT, 1, "buyer", "seller", Currency.BTC, 1, 0);
		} catch (IllegalArgumentException e) {
			exceptionThrown = true;
		}
		assertTrue(exceptionThrown);
		exceptionThrown = false;
		
		try {
			new PaymentRequest(PKIAlgorithm.DEFAULT, 1, "buyer", "BuyeR", Currency.BTC, 12, System.currentTimeMillis());
		} catch (IllegalArgumentException e) {
			exceptionThrown = true;
		}
		assertTrue(exceptionThrown);
		exceptionThrown = false;
	}