Package no.ugland.utransprod.service

Source Code of no.ugland.utransprod.service.VismaFileCreatorTest

package no.ugland.utransprod.service;

import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertNotNull;

import java.io.File;
import java.io.IOException;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;

import no.ugland.utransprod.model.OrdchgrHeadV;
import no.ugland.utransprod.model.OrdchgrLineV;
import no.ugland.utransprod.model.OrdchgrLineVPK;
import no.ugland.utransprod.model.Order;
import no.ugland.utransprod.model.Transport;
import no.ugland.utransprod.service.impl.VismaFileCreatorImpl;
import no.ugland.utransprod.test.FastTests;
import no.ugland.utransprod.util.Util;

import org.apache.commons.io.FileUtils;
import org.junit.Test;
import org.junit.experimental.categories.Category;
@Category(FastTests.class)
public class VismaFileCreatorTest {

  @Test
  public void skalLageVismaFilForOrdreUtenTransport() throws IOException,
      ParseException {
    VismaFileCreatorImpl vismaFileCreator = new VismaFileCreatorImpl(null,
        false);
    Order ordre = new Order();
    OrdchgrHeadV head = new OrdchgrHeadV();
    head.setOrdNo(1);
    String fileName = vismaFileCreator.createTransportFile(ordre, head,
        "visma");
    assertNotNull(fileName);
    File file = new File("visma/" + fileName);
    assertEquals(true, file.exists());
    List<String> stringLines = FileUtils.readLines(file);
    assertEquals(1, stringLines.size());
    assertEquals(
        "H;;1;;;;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4",
        stringLines.get(0));
  }

  @Test
  public void skalLageVismaFilForOrdreUtenLeveringsdatoOgUtenTransportAarOGUke()
      throws IOException, ParseException {
    VismaFileCreatorImpl vismaFileCreator = new VismaFileCreatorImpl(null,
        false);
    Order ordre = new Order();
    Transport transport = new Transport();
    ordre.setTransport(transport);
    OrdchgrHeadV head = new OrdchgrHeadV();
    head.setOrdNo(1);
    String fileName = vismaFileCreator.createTransportFile(ordre, head,
        "visma");
    assertNotNull(fileName);
    File file = new File("visma/" + fileName);
    assertEquals(true, file.exists());
    List<String> stringLines = FileUtils.readLines(file);
    assertEquals(1, stringLines.size());
    assertEquals(
        "H;;1;;;;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4",
        stringLines.get(0));
  }

  @Test
  public void skalLageVismaFilForLeveringsdato() throws IOException,
      ParseException {
    VismaFileCreatorImpl vismaFileCreator = new VismaFileCreatorImpl(null,
        false);
    Order ordre = new Order();
    Transport transport = new Transport();
    transport.setLoadingDate(Util.DATE_FORMAT_YYYYMMDD.parse("20110929"));
    ordre.setTransport(transport);
    OrdchgrHeadV head = new OrdchgrHeadV();
    head.setOrdNo(1);
    String fileName = vismaFileCreator.createTransportFile(ordre, head,
        "visma");
    assertNotNull(fileName);
    File file = new File("visma/" + fileName);
    assertEquals(true, file.exists());
    List<String> stringLines = FileUtils.readLines(file);
    assertEquals(1, stringLines.size());
    assertEquals(
        "H;;1;;;;;;;;;;;;;;;;;;;;;;20110929;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4",
        stringLines.get(0));
  }

  @Test
  public void testWriteFile() throws Exception {
    final OrdchgrHeadV ordchgrHead = new OrdchgrHeadV();
    ordchgrHead.setOrdNo(1);
    final OrdchgrLineV ordchgrLine = new OrdchgrLineV();
    ordchgrLine.setOrdchgrLineVPK(new OrdchgrLineVPK(1, 10));
    ordchgrLine.setLineStatus(20);
    final List<OrdchgrLineV> lines = new ArrayList<OrdchgrLineV>();
    lines.add(ordchgrLine);

    VismaFileCreatorImpl vismaFileCreator = new VismaFileCreatorImpl(null,
        false);
    String fileName = vismaFileCreator.createFile(ordchgrHead, lines, "1",
        "visma");

    File file = new File("visma/" + fileName);
    assertEquals(true, file.exists());
    List<String> stringLines = FileUtils.readLines(file);
    for (String line : stringLines) {
      Line.valueOf(line.substring(0, 1)).validate(line);
    }
  }

  private enum Line {
    H {
      @Override
      public void validate(String line) {
        assertEquals(
            "H;;1;;;;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4",
            line);

      }
    },
    L {
      @Override
      public void validate(String line) {
        assertEquals(
            "L;10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;1;20;3",
            line);

      }
    };
    public abstract void validate(String line);
  }
}
TOP

Related Classes of no.ugland.utransprod.service.VismaFileCreatorTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.