package com.dooapp.fxform.issues; import com.dooapp.fxform.FXForm; import com.dooapp.fxform.JavaFXRule; import javafx.beans.property.SimpleStringProperty; import javafx.beans.property.StringProperty; import org.junit.Assert; import org.junit.Rule; import org.junit.Test; /** * User: Antoine Mischler <antoine@dooapp.com> * Date: 10/04/2017 * Time: 15:09 */ public class Issue135Test { @Rule public JavaFXRule javaFXRule = new JavaFXRule(); class TestBean { StringProperty name = new SimpleStringProperty(); public String getName() { return name.get(); } public StringProperty nameProperty() { return name; } public void setName(String name) { this.name.set(name); } } @Test public void test() { TestBean testBean1 = new TestBean(); TestBean testBean2 = new TestBean(); testBean1.setName("a"); testBean2.setName("b"); FXForm fxForm = new FXForm(); for (int i = 0; i < 10000; i++) { fxForm.setSource(i % 2 == 0 ? testBean1 : testBean2); } Assert.assertEquals("a", testBean1.getName()); Assert.assertEquals("b", testBean2.getName()); } }