Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package gov.bsp.lcmis.internal.test;
- import java.math.BigDecimal;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- import javax.naming.NamingException;
- import org.bouncycastle.asn1.x509.qualified.TypeOfBiometricData;
- import org.junit.BeforeClass;
- import org.junit.Test;
- import org.junit.runner.RunWith;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.context.ApplicationContext;
- import org.springframework.context.ApplicationContextAware;
- import org.springframework.jdbc.datasource.DriverManagerDataSource;
- import org.springframework.mock.jndi.SimpleNamingContextBuilder;
- import org.springframework.test.context.ActiveProfiles;
- import org.springframework.test.context.ContextConfiguration;
- import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
- import org.springframework.test.context.web.WebAppConfiguration;
- import com.ibm.icu.impl.Assert;
- import gov.bsp.lcmis.internal.constants.BankStatus;
- import gov.bsp.lcmis.internal.constants.ElRvcColumnsEnum;
- import gov.bsp.lcmis.internal.rates.dao.RetrieveELRatesDetailsRepoImpl;
- import gov.bsp.lcmis.internal.rates.domain.Rates;
- import gov.bsp.lcmis.internal.rates.repo.RetrieveELRatesRepo;
- import gov.bsp.lcmis.internal.report.domain.ComputedRvcReportItem;
- import gov.bsp.lcmis.internal.report.domain.ElReleaseValue;
- import gov.bsp.lcmis.internal.report.domain.PromissoryNote;
- import gov.bsp.lcmis.internal.utilities.DateConverter;
- import gov.bsp.lcmis.internal.utilities.domain.ELRvcReportItemProcessorRateAdapter;
- @RunWith(SpringJUnit4ClassRunner.class)
- @WebAppConfiguration
- @ContextConfiguration(value = "file:src/main/webapp/WEB-INF/dispatcher-servlet.xml")
- @ActiveProfiles("test")
- public class ReusableUnitTest implements ApplicationContextAware {
- private ApplicationContext applicationContext;
- private static Logger log = LoggerFactory.getLogger(ReusableUnitTest.class);
- /**
- * SET THE DATABASE CREDS and URL
- */
- private static String url = "jdbc:db2://localhost:50000/mydb2";
- private static String username = "db2admin";
- private static String password = "password123";
- /**
- * Note to Architect : please setup an environment dependent datasource
- * to remove the need for commenting and uncommenting the @Test method.
- */
- @BeforeClass
- public static void setupClass() {
- //create the datasource
- DriverManagerDataSource datasource = new DriverManagerDataSource(url, username, password);
- datasource.setDriverClassName("com.ibm.db2.jcc.DB2Driver");
- //bind to a jndi string
- SimpleNamingContextBuilder builder = new SimpleNamingContextBuilder();
- builder.bind("lcmisbsp", datasource);
- builder.bind("${lcmissequencebsp.jndi.name}", datasource);
- builder.bind("${cfas.jndi.name}", datasource);
- builder.bind("${ops.jndi.name}", datasource);
- try {
- builder.activate();
- } catch (IllegalStateException | NamingException e) {
- log.error("Error setting up test class, ", e);
- }
- }
- @Test
- public void test() {
- try {
- log.info("MCI >> ReusableUnitTest");
- PromissoryNote rvb = new PromissoryNote();
- rvb.setOutstandingPrincipal(BigDecimal.TEN);
- DateConverter conv = new DateConverter();
- rvb.setLoanGrantedDate(conv.convertStringToDate("12/12/2005"));
- rvb.setPnGrantedDate(conv.convertStringToDate("12/12/2005"));
- rvb.setPnMaturityDate(conv.convertStringToDate("06/22/2007"));
- Rates elRate = new Rates();
- elRate.setRate(new BigDecimal("0.6"));
- elRate.setFromDate(conv.convertStringToDate("09/05/2005"));
- Rates elRate2 = new Rates();
- elRate2.setRate(new BigDecimal("0.7"));
- elRate2.setFromDate(conv.convertStringToDate("10/06/2006"));
- List<ELRvcReportItemProcessorRateAdapter> rates = new ArrayList<ELRvcReportItemProcessorRateAdapter>();
- rates.add(elRate);
- rates.add(elRate2);
- ElReleaseValue erv = applicationContext.getBean("elReleaseValueWithRepricing", ElReleaseValue.class);
- erv.setPn(rvb);
- erv.setRates(rates);
- erv.of(rvb).at(conv.convertStringToDate("01/15/2010"));
- Assert.assrt(erv != null);
- log.info("list size: " + erv.getComputedRvcReportList().size());
- for (ComputedRvcReportItem item : erv.getComputedRvcReportList()) {
- log.info(new StringBuilder("accrued interest income: ")
- .append(item.getDisplayColumn().equals(ElRvcColumnsEnum.ACCRUED_INTEREST_RECEIVABLE) ? item.getAir() : BigDecimal.ZERO)
- .append(" | interest income: ")
- .append(item.getInterestIncome())
- .append(" | liquidated damages: ")
- .append(item.getLiquidatedDamages())
- .append(" | computation rate: ")
- .append(item.getComputationRate())
- .append(" | repricing rate: ")
- .append(item.getRepricingRate())
- .append(" | ld rate: ")
- .append(item.getLdRate())
- .append(" | from date: " + item.getValueTerm().getFromDate()
- + " | to date: "
- + item.getValueTerm().getToDate())
- .toString());
- }
- log.debug(new StringBuilder("total air: ").append(erv.getTotalAccIntRec())
- .append("total intInc: ").append(erv.getTotalIntInc())
- .append("total ld: ").append(erv.getTotalLiqDmgs())
- .append("total release value: ").append(erv.getTotalComputedRvWithLd())
- .append("total rv without ld: ").append(erv.getTotalComputedRvWithoutLd())
- .toString());
- } catch (Exception e) {
- log.error("Error found. ", e);
- }
- log.info("MCO >> ReusableUnitTest");
- }
- // public static void main(String[] args) {
- // try {
- // OutputStream file = new FileOutputStream(new File("C:\\Users\\edward.cervantes\\Desktop\\Test.pdf"));
- //
- // Document document = new Document();
- // PdfWriter.getInstance(document, file);
- // document.open();
- // document.add(new Paragraph("Hello Kiran"));
- // document.add(new Paragraph(new Date().toString()));
- //
- // document.close();
- // file.close();
- //
- // } catch (Exception e) {
- //
- // e.printStackTrace();
- // }
- // }
- // @Test
- public void testRates() {
- try {
- log.info("MCI >> ReusableUnitTest");
- RetrieveELRatesRepo repo =
- applicationContext.getBean("retrieveElRepricedRatesDetailsRepo", RetrieveELRatesDetailsRepoImpl.class);
- Assert.assrt(repo != null);
- DateConverter conv = applicationContext.getBean("dateConverter", DateConverter.class);
- Date availmentDate = conv.convertStringToDate("11/02/2017");
- Date cutOffDate = conv.convertStringToDate("12/01/2017");
- List<ELRvcReportItemProcessorRateAdapter> rates = repo.getElRates(availmentDate, cutOffDate);
- for (ELRvcReportItemProcessorRateAdapter rate : rates) {
- log.info(new StringBuilder("rate: ").append(rate.getRateForELRvcReportItemProcessor())
- .append(" | from date: ")
- .append(rate.getFromDateForELRvcReportItemProcessor())
- // .append(" | days: ").append(rate.getDays())
- // .append(" | id: ").append(rate.getRatesId())
- .toString());
- // log.info(new StringBuilder("rate: ").append(rate.getRate())
- // .append(" | from date: ").append(rate.getFromDate())
- // .append(" | days: ").append(rate.getDays())
- // .append(" | id: ").append(rate.getRatesId())
- // .toString());
- }
- ElReleaseValue rv = applicationContext.getBean("elReleaseValueWithRepricing", ElReleaseValue.class);
- rv.setRates(rates);
- } catch (Exception e) {
- log.error("Error found. ", e);
- }
- log.info("MCO >> ReusableUnitTest");
- }
- // @Test
- public void method() {
- ComputedRvcReportItem<ElRvcColumnsEnum> item =
- applicationContext.getBean("computedRvcReportItem", ComputedRvcReportItem.class);
- Assert.assrt(item != null);
- item.setDisplayColumn(ElRvcColumnsEnum.ACCRUED_INTEREST_RECEIVABLE);
- System.out.println("display column? " + item.getDisplayColumn().equals(ElRvcColumnsEnum.INTEREST_INCOME));
- System.out.println("display column? " + item.getDisplayColumn().equals(ElRvcColumnsEnum.ACCRUED_INTEREST_RECEIVABLE));
- System.out.println("display column? " + item.getDisplayColumn().equals(ElRvcColumnsEnum.LIQUIDATED_DAMAGES));
- System.out.println(ElRvcColumnsEnum.LIQUIDATED_DAMAGES.getDeclaringClass());
- }
- public void setApplicationContext(ApplicationContext applicationContext) {
- this.applicationContext = applicationContext;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement