/*
* Beanfabrics Framework Copyright (C) by Michael Karneim, beanfabrics.org
* Use is subject to license terms. See license.txt.
*/
package org.beanfabrics.test;
import static org.junit.Assert.assertEquals;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.Locale;
import junit.framework.JUnit4TestAdapter;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
/**
* @author Michael Karneim
*/
public class ContactPMTest {
public static junit.framework.Test suite() {
return new JUnit4TestAdapter(ContactPMTest.class);
}
public ContactPMTest() {
}
static Locale oldLocale;
@BeforeClass
public static void setUpClass()
throws Exception {
oldLocale = Locale.getDefault();
Locale.setDefault(Locale.GERMANY);
}
@AfterClass
public static void tearDownClass()
throws Exception {
Locale.setDefault(oldLocale);
}
@Test
public void create()
throws Throwable {
ContactPM contact = new ContactPM();
contact.firstname.setText("Michael");
contact.lastname.setText("Karneim");
contact.birthday.setText("14.01.1971");
contact.isMarried.setBoolean(false);
assertEquals("contact.addChild.isEnabled()", false, contact.addChild.isEnabled());
contact.isMarried.setBoolean(true);
assertEquals("contact.addChild.isEnabled()", true, contact.addChild.isEnabled());
contact.addChild.execute();
assertEquals("contact.children.getInteger()", 1, (int)contact.children.getInteger());
}
@Test
public void events()
throws Throwable {
ContactPM contact = new ContactPM();
MyPropertyChangeListener l = new MyPropertyChangeListener();
contact.addPropertyChangeListener(l);
assertEquals("l.eventCount", 0, l.eventCount);
contact.firstname.setText("Michael");
assertEquals("l.eventCount", 1, l.eventCount);
contact.lastname.setText("Karneim");
assertEquals("l.eventCount", 2, l.eventCount);
contact.birthday.setText("14.01.1971");
assertEquals("l.eventCount", 3, l.eventCount);
}
private static class MyPropertyChangeListener implements PropertyChangeListener {
int eventCount = 0;
public void propertyChange(PropertyChangeEvent evt) {
eventCount++;
}
}
}