Package com.googlecode.gwt.test.autobean

Source Code of com.googlecode.gwt.test.autobean.AutoBeanFactoryTest$AddressImpl

package com.googlecode.gwt.test.autobean;

import static org.fest.assertions.api.Assertions.assertThat;

import org.junit.Test;

import com.google.gwt.core.client.GWT;
import com.google.web.bindery.autobean.shared.AutoBean;
import com.google.web.bindery.autobean.shared.AutoBeanCodex;
import com.googlecode.gwt.test.GwtTestTest;
import com.googlecode.gwt.test.autobean.MyAutoBeanFactory.Address;
import com.googlecode.gwt.test.autobean.MyAutoBeanFactory.Person;

public class AutoBeanFactoryTest extends GwtTestTest {

   public static class AddressImpl implements Address {

   }

   public static class PersonImpl implements Person {

      private Address address;
      private String name;

      public Address getAddress() {
         return address;
      }

      public String getName() {
         return name;
      }

      public void setAddress(Address address) {
         this.address = address;
      }

      public void setName(String name) {
         this.name = name;
      }

   }

   private final MyAutoBeanFactory myFactory = GWT.create(MyAutoBeanFactory.class);

   @Test
   public void createComplex() {
      // Act
      Person person = myFactory.person().as();
      Address address = myFactory.create(Address.class).as();
      person.setAddress(address);

      // Assert
      assertThat(person.getAddress()).isEqualTo(address);
      assertThat(person.getName()).isNull();
   }

   @Test
   public void createFromExisting() {
      // Arrange
      Person person = new PersonImpl();
      person.setName("Benjamin Linus");
      Address address = new AddressImpl();
      person.setAddress(address);

      // Act
      AutoBean<Person> bean = myFactory.create(Person.class, person);

      // Act
      String json = AutoBeanCodex.encode(bean).getPayload();

      // Assert
      assertThat(person.getName()).isEqualTo("Benjamin Linus");
      assertThat(person.getAddress()).isEqualTo(address);
   }

   @Test
   public void createSimple() {
      // Act
      Person person = myFactory.person().as();
      person.setName("John Locke");

      // Assert
      assertThat(person.getName()).isEqualTo("John Locke");
      assertThat(person.getAddress()).isNull();
   }

}
TOP

Related Classes of com.googlecode.gwt.test.autobean.AutoBeanFactoryTest$AddressImpl

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.