import static org.junit.Assert.assertEquals; 

import org.junit.Before; 
import org.junit.Test; 

import javafx.beans.binding.Bindings; 
import javafx.beans.binding.StringBinding; 
import javafx.scene.control.Menu; 
import javafx.scene.control.MenuItem; 

public class PropertyBindingTest { 

	private Menu menu = new Menu("menu"); 
	private MenuItem item = new MenuItem("item"); 

	@Before 
	public void setUp() { 
		menu.getItems().add(item); 
	} 

	@Test 
	public void testBindings_select_MenuItem_text() { 
		StringBinding binding = Bindings.selectString(item, "text"); 
		assertEquals("item", binding.getValue()); 

		item.setText("item_changed"); 
		assertEquals("item_changed", binding.getValue()); 
	} 

	@Test 
	public void testBindings_select_MenuItem_parentMenu_text() { 
		StringBinding binding = Bindings.selectString(item, "parentMenu", "text"); 
		assertEquals("menu", binding.getValue()); 

		menu.setText("menu_changed"); 
		assertEquals("menu_changed", binding.getValue()); 
	} 
} 
