public void testComplexOperationInputs() {
billUserOp = OperationFactory.getInstance().create("BillUser");
//test getBalance Operation inputs
HashMap map = new HashMap();
Input detailInput = new Input();
detailInput.setName("DetailLevel");
detailInput.setRequired(true);
map.put(detailInput.getName(), detailInput);
Input errorLang = new Input();
errorLang.setName("ErrorLanguage");
errorLang.setRequired(true);
map.put(errorLang.getName(), errorLang);
Input merchantPaymentDetails = new Input();
merchantPaymentDetails.setName("MerchantPaymentDetails");
merchantPaymentDetails.setRequired(true);
HashMap inlineInputs = new HashMap();
map.put(merchantPaymentDetails.getName(), inlineInputs);
Input amount = new Input();
amount.setName("Amount");
amount.setRequired(true);
HashMap amountInlineInputs = new HashMap();
inlineInputs.put(amount.getName(), amountInlineInputs);
Input currency = new Input();
currency.setName("currencyID");
currency.setRequired(true);
amountInlineInputs.put(currency.getName(), currency);
Input mpId = new Input();
mpId.setName("MpId");
mpId.setRequired(true);
inlineInputs.put(mpId.getName(), mpId);
Input tax = new Input();
tax.setName("Tax");
tax.setRequired(true);
HashMap taxInlineInputs = new HashMap();
inlineInputs.put(tax.getName(), taxInlineInputs);
taxInlineInputs.put(currency.getName(), currency);
Input shipping = new Input();
shipping.setName("Shipping");
shipping.setRequired(true);
HashMap shippingInlineInputs = new HashMap();
inlineInputs.put(shipping.getName(), shippingInlineInputs);
shippingInlineInputs.put(currency.getName(), currency);
Input handling = new Input();
handling.setName("Handling");
handling.setRequired(true);
HashMap handlingInlineInputs = new HashMap();
inlineInputs.put(handling.getName(), handlingInlineInputs);
handlingInlineInputs.put(currency.getName(), currency);
Input paymentType = new Input();
paymentType.setName("PaymentType");
inlineInputs.put(paymentType.getName(), paymentType);
Input itemNumber = new Input();
itemNumber.setName("ItemNumber");
inlineInputs.put(itemNumber.getName(), itemNumber);
Input itemName = new Input();
itemName.setName("ItemName");
inlineInputs.put(itemName.getName(), itemName);
Input emailSubject = new Input();
emailSubject.setName("EmailSubject");
inlineInputs.put(emailSubject.getName(), emailSubject);
Input memo = new Input();
memo.setName("Memo");
inlineInputs.put(memo.getName(), memo);
List<Input> inputs = billUserOp.getInputs();
PaypalTestUtil.validateComplexInputs(map, inputs);
}