Advertisement
Guest User

Untitled

a guest
Mar 27th, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.62 KB | None | 0 0
  1. package gov.bsp.lcmis.internal.test;
  2.  
  3. import java.math.BigDecimal;
  4. import java.util.ArrayList;
  5. import java.util.Date;
  6. import java.util.List;
  7.  
  8. import javax.naming.NamingException;
  9.  
  10. import org.bouncycastle.asn1.x509.qualified.TypeOfBiometricData;
  11. import org.junit.BeforeClass;
  12. import org.junit.Test;
  13. import org.junit.runner.RunWith;
  14. import org.slf4j.Logger;
  15. import org.slf4j.LoggerFactory;
  16. import org.springframework.context.ApplicationContext;
  17. import org.springframework.context.ApplicationContextAware;
  18. import org.springframework.jdbc.datasource.DriverManagerDataSource;
  19. import org.springframework.mock.jndi.SimpleNamingContextBuilder;
  20. import org.springframework.test.context.ActiveProfiles;
  21. import org.springframework.test.context.ContextConfiguration;
  22. import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
  23. import org.springframework.test.context.web.WebAppConfiguration;
  24.  
  25. import com.ibm.icu.impl.Assert;
  26.  
  27. import gov.bsp.lcmis.internal.constants.BankStatus;
  28. import gov.bsp.lcmis.internal.constants.ElRvcColumnsEnum;
  29. import gov.bsp.lcmis.internal.rates.dao.RetrieveELRatesDetailsRepoImpl;
  30. import gov.bsp.lcmis.internal.rates.domain.Rates;
  31. import gov.bsp.lcmis.internal.rates.repo.RetrieveELRatesRepo;
  32. import gov.bsp.lcmis.internal.report.domain.ComputedRvcReportItem;
  33. import gov.bsp.lcmis.internal.report.domain.ElReleaseValue;
  34. import gov.bsp.lcmis.internal.report.domain.PromissoryNote;
  35. import gov.bsp.lcmis.internal.utilities.DateConverter;
  36. import gov.bsp.lcmis.internal.utilities.domain.ELRvcReportItemProcessorRateAdapter;
  37.  
  38. @RunWith(SpringJUnit4ClassRunner.class)
  39. @WebAppConfiguration
  40. @ContextConfiguration(value = "file:src/main/webapp/WEB-INF/dispatcher-servlet.xml")
  41. @ActiveProfiles("test")
  42. public class ReusableUnitTest implements ApplicationContextAware {
  43.  
  44. private ApplicationContext applicationContext;
  45.  
  46. private static Logger log = LoggerFactory.getLogger(ReusableUnitTest.class);
  47.  
  48. /**
  49. * SET THE DATABASE CREDS and URL
  50. */
  51. private static String url = "jdbc:db2://localhost:50000/mydb2";
  52.  
  53. private static String username = "db2admin";
  54.  
  55. private static String password = "password123";
  56.  
  57. /**
  58. * Note to Architect : please setup an environment dependent datasource
  59. * to remove the need for commenting and uncommenting the @Test method.
  60. */
  61. @BeforeClass
  62. public static void setupClass() {
  63. //create the datasource
  64. DriverManagerDataSource datasource = new DriverManagerDataSource(url, username, password);
  65. datasource.setDriverClassName("com.ibm.db2.jcc.DB2Driver");
  66.  
  67. //bind to a jndi string
  68. SimpleNamingContextBuilder builder = new SimpleNamingContextBuilder();
  69. builder.bind("lcmisbsp", datasource);
  70. builder.bind("${lcmissequencebsp.jndi.name}", datasource);
  71. builder.bind("${cfas.jndi.name}", datasource);
  72. builder.bind("${ops.jndi.name}", datasource);
  73.  
  74. try {
  75. builder.activate();
  76. } catch (IllegalStateException | NamingException e) {
  77. log.error("Error setting up test class, ", e);
  78. }
  79. }
  80.  
  81. @Test
  82. public void test() {
  83. try {
  84. log.info("MCI >> ReusableUnitTest");
  85. PromissoryNote rvb = new PromissoryNote();
  86.  
  87. rvb.setOutstandingPrincipal(BigDecimal.TEN);
  88.  
  89. DateConverter conv = new DateConverter();
  90. rvb.setLoanGrantedDate(conv.convertStringToDate("12/12/2005"));
  91. rvb.setPnGrantedDate(conv.convertStringToDate("12/12/2005"));
  92. rvb.setPnMaturityDate(conv.convertStringToDate("06/22/2007"));
  93.  
  94. Rates elRate = new Rates();
  95. elRate.setRate(new BigDecimal("0.6"));
  96. elRate.setFromDate(conv.convertStringToDate("09/05/2005"));
  97.  
  98. Rates elRate2 = new Rates();
  99. elRate2.setRate(new BigDecimal("0.7"));
  100. elRate2.setFromDate(conv.convertStringToDate("10/06/2006"));
  101.  
  102. List<ELRvcReportItemProcessorRateAdapter> rates = new ArrayList<ELRvcReportItemProcessorRateAdapter>();
  103. rates.add(elRate);
  104. rates.add(elRate2);
  105.  
  106. ElReleaseValue erv = applicationContext.getBean("elReleaseValueWithRepricing", ElReleaseValue.class);
  107. erv.setPn(rvb);
  108. erv.setRates(rates);
  109. erv.of(rvb).at(conv.convertStringToDate("01/15/2010"));
  110.  
  111. Assert.assrt(erv != null);
  112.  
  113. log.info("list size: " + erv.getComputedRvcReportList().size());
  114.  
  115. for (ComputedRvcReportItem item : erv.getComputedRvcReportList()) {
  116. log.info(new StringBuilder("accrued interest income: ")
  117. .append(item.getDisplayColumn().equals(ElRvcColumnsEnum.ACCRUED_INTEREST_RECEIVABLE) ? item.getAir() : BigDecimal.ZERO)
  118. .append(" | interest income: ")
  119. .append(item.getInterestIncome())
  120. .append(" | liquidated damages: ")
  121. .append(item.getLiquidatedDamages())
  122. .append(" | computation rate: ")
  123. .append(item.getComputationRate())
  124. .append(" | repricing rate: ")
  125. .append(item.getRepricingRate())
  126. .append(" | ld rate: ")
  127. .append(item.getLdRate())
  128. .append(" | from date: " + item.getValueTerm().getFromDate()
  129. + " | to date: "
  130. + item.getValueTerm().getToDate())
  131. .toString());
  132. }
  133.  
  134. log.debug(new StringBuilder("total air: ").append(erv.getTotalAccIntRec())
  135. .append("total intInc: ").append(erv.getTotalIntInc())
  136. .append("total ld: ").append(erv.getTotalLiqDmgs())
  137. .append("total release value: ").append(erv.getTotalComputedRvWithLd())
  138. .append("total rv without ld: ").append(erv.getTotalComputedRvWithoutLd())
  139. .toString());
  140. } catch (Exception e) {
  141. log.error("Error found. ", e);
  142. }
  143. log.info("MCO >> ReusableUnitTest");
  144. }
  145.  
  146. // public static void main(String[] args) {
  147. // try {
  148. // OutputStream file = new FileOutputStream(new File("C:\\Users\\edward.cervantes\\Desktop\\Test.pdf"));
  149. //
  150. // Document document = new Document();
  151. // PdfWriter.getInstance(document, file);
  152. // document.open();
  153. // document.add(new Paragraph("Hello Kiran"));
  154. // document.add(new Paragraph(new Date().toString()));
  155. //
  156. // document.close();
  157. // file.close();
  158. //
  159. // } catch (Exception e) {
  160. //
  161. // e.printStackTrace();
  162. // }
  163. // }
  164.  
  165. // @Test
  166. public void testRates() {
  167. try {
  168. log.info("MCI >> ReusableUnitTest");
  169. RetrieveELRatesRepo repo =
  170. applicationContext.getBean("retrieveElRepricedRatesDetailsRepo", RetrieveELRatesDetailsRepoImpl.class);
  171. Assert.assrt(repo != null);
  172.  
  173. DateConverter conv = applicationContext.getBean("dateConverter", DateConverter.class);
  174. Date availmentDate = conv.convertStringToDate("11/02/2017");
  175. Date cutOffDate = conv.convertStringToDate("12/01/2017");
  176. List<ELRvcReportItemProcessorRateAdapter> rates = repo.getElRates(availmentDate, cutOffDate);
  177. for (ELRvcReportItemProcessorRateAdapter rate : rates) {
  178. log.info(new StringBuilder("rate: ").append(rate.getRateForELRvcReportItemProcessor())
  179. .append(" | from date: ")
  180. .append(rate.getFromDateForELRvcReportItemProcessor())
  181. // .append(" | days: ").append(rate.getDays())
  182. // .append(" | id: ").append(rate.getRatesId())
  183. .toString());
  184. // log.info(new StringBuilder("rate: ").append(rate.getRate())
  185. // .append(" | from date: ").append(rate.getFromDate())
  186. // .append(" | days: ").append(rate.getDays())
  187. // .append(" | id: ").append(rate.getRatesId())
  188. // .toString());
  189. }
  190.  
  191. ElReleaseValue rv = applicationContext.getBean("elReleaseValueWithRepricing", ElReleaseValue.class);
  192.  
  193. rv.setRates(rates);
  194.  
  195. } catch (Exception e) {
  196. log.error("Error found. ", e);
  197. }
  198. log.info("MCO >> ReusableUnitTest");
  199. }
  200.  
  201. // @Test
  202. public void method() {
  203. ComputedRvcReportItem<ElRvcColumnsEnum> item =
  204. applicationContext.getBean("computedRvcReportItem", ComputedRvcReportItem.class);
  205. Assert.assrt(item != null);
  206.  
  207. item.setDisplayColumn(ElRvcColumnsEnum.ACCRUED_INTEREST_RECEIVABLE);
  208. System.out.println("display column? " + item.getDisplayColumn().equals(ElRvcColumnsEnum.INTEREST_INCOME));
  209. System.out.println("display column? " + item.getDisplayColumn().equals(ElRvcColumnsEnum.ACCRUED_INTEREST_RECEIVABLE));
  210. System.out.println("display column? " + item.getDisplayColumn().equals(ElRvcColumnsEnum.LIQUIDATED_DAMAGES));
  211.  
  212. System.out.println(ElRvcColumnsEnum.LIQUIDATED_DAMAGES.getDeclaringClass());
  213. }
  214.  
  215. public void setApplicationContext(ApplicationContext applicationContext) {
  216. this.applicationContext = applicationContext;
  217. }
  218. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement