}
@Test
public void testParseRegisterString() {
String line = "D26/08'2010";
Register register = new Register();
assertNotNull("Message retrieved", qifImporterService.parse(register, line));
Calendar calendar = Calendar.getInstance();
calendar.setTime(register.getDate());
assertEquals("Date processed (day)", 26, calendar.get(Calendar.DAY_OF_MONTH));
assertEquals("Date processed (month)", 7, calendar.get(Calendar.MONTH));
assertEquals("Date processed (year)", 2010, calendar.get(Calendar.YEAR));
line = "!Type:Bank";
assertNotNull("Message retrieved (type)", qifImporterService.parse(register, line));
assertEquals("Account type processed", Register.AccountType.BANK, register.getType());
line = "T1,517.75";
assertNotNull("Message retrieved (positive)", qifImporterService.parse(register, line));
assertEquals("Positive amount processed", new Double(1517.75), register.getAmount());
line = "T-362.07";
assertNotNull("Message retrieved (negative)", qifImporterService.parse(register, line));
assertEquals("Negative amount processed", new Double(-362.07), register.getAmount());
line = "POpening Balance";
assertNotNull("Message retrieved (payee)", qifImporterService.parse(register, line));
assertEquals("Payee processed", "Opening Balance", register.getPayee());
line = "L[Cuenta Corriente]";
assertNotNull("Message retrieved (account)", qifImporterService.parse(register, line));
assertEquals("Transfer account processed", "Cuenta Corriente", register.getTargetAccount());
line = "LHobbies-Leisure:Poker";
assertNotNull("Message retrieved (subcategory)", qifImporterService.parse(register, line));
assertEquals("Different category processed (category)", "Hobbies-Leisure", register.getCategory());
assertEquals("Different category processed (subcategory)", "Poker", register.getSubcategory());
line = "LCash Withdrawal";
assertNotNull("Message retrieved (category)", qifImporterService.parse(register, line));
assertEquals("Same category processed (category)", "Cash Withdrawal", register.getCategory());
assertEquals("Same category processed (subcategory)", "Cash Withdrawal", register.getSubcategory());
line = "MPoker: Cash";
assertNotNull("Message retrieved (description)", qifImporterService.parse(register, line));
assertEquals("Description processed", "Poker: Cash", register.getDescription());
}