Package org.agoncal.book.javaee7.chapter12.ex11

Source Code of org.agoncal.book.javaee7.chapter12.ex11.CreditCard11Test

package org.agoncal.book.javaee7.chapter12.ex11;

import org.junit.After;
import org.junit.BeforeClass;
import org.junit.Test;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter;
import java.util.Calendar;
import java.util.Date;

import static org.junit.Assert.assertEquals;

/**
* @author Antonio Goncalves
*         APress Book - Beginning Java EE 7 with Glassfish 4
*         http://www.apress.com/
*         http://www.antoniogoncalves.org
*         --
*/
public class CreditCard11Test {

  // ======================================
  // =             Attributes             =
  // ======================================

  private static Date creationDate;
  public static final String creditCardXML = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><creditCard11 number=\"12345678\"><expiry-date>10/14</expiry-date><type>Visa</type><control-number>566</control-number></creditCard11>";

  // ======================================
  // =          Lifecycle Methods         =
  // ======================================

  @BeforeClass
  public static void init() throws IOException {
    Calendar calendar = Calendar.getInstance();
    calendar.set(2013, Calendar.JUNE, 5);
    creationDate = calendar.getTime();
  }

  @After
  public void stop() {
  }

  // ======================================
  // =              Unit tests            =
  // ======================================

  @Test
  public void shouldMarshallACreditCard() throws JAXBException {

    CreditCard11 creditCard = new CreditCard11("12345678", "10/14", 566, "Visa");

    StringWriter writer = new StringWriter();
    JAXBContext context = JAXBContext.newInstance(CreditCard11.class);
    Marshaller m = context.createMarshaller();
    m.marshal(creditCard, writer);

    System.out.println(writer);

    assertEquals(creditCardXML, writer.toString());

  }

  @Test
  public void shouldUnmarshallACreditCard() throws JAXBException {
    StringReader reader = new StringReader(creditCardXML);
    JAXBContext context = JAXBContext.newInstance(CreditCard11.class);
    Unmarshaller u = context.createUnmarshaller();
    CreditCard11 creditCard = (CreditCard11) u.unmarshal(reader);

    assertEquals("12345678", creditCard.getNumber());
    assertEquals("10/14", creditCard.getExpiryDate());
    assertEquals((Object) 566, creditCard.getControlNumber());
    assertEquals("Visa", creditCard.getType());
  }
}
TOP

Related Classes of org.agoncal.book.javaee7.chapter12.ex11.CreditCard11Test

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.