Package com.avaje.ebean

Source Code of com.avaje.ebean.TestPropertyChangeListener$Listener

package com.avaje.ebean;

import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.ArrayList;
import java.util.List;

import org.junit.Assert;
import org.junit.Test;

import com.avaje.tests.model.basic.Customer;
import com.avaje.tests.model.basic.ResetBasicData;

public class TestPropertyChangeListener extends BaseTestCase {

  @Test
  public void test() {
   
    ResetBasicData.reset();
   
    List<Customer> list = Ebean.find(Customer.class).findList();
   
    Listener listener = new Listener();
   
    Customer customer = list.get(0);
    Ebean.getBeanState(customer).addPropertyChangeListener(listener);
   
    customer.setName("modName");
    customer.setSmallnote("modSmallNote");
   
    Assert.assertEquals(2, listener.events.size());
    Assert.assertEquals("modName", listener.events.get(0).getNewValue());
    Assert.assertEquals("name", listener.events.get(0).getPropertyName());
    Assert.assertEquals("modSmallNote", listener.events.get(1).getNewValue());
    Assert.assertEquals("smallnote", listener.events.get(1).getPropertyName());
   
  }
 
  class Listener implements PropertyChangeListener {

    List<PropertyChangeEvent> events = new ArrayList<PropertyChangeEvent>();
   
    @Override
    public void propertyChange(PropertyChangeEvent evt) {
      events.add(evt);
    }

  }
 
}
TOP

Related Classes of com.avaje.ebean.TestPropertyChangeListener$Listener

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.