blob: 1629e6c78031342339d170b6cb96d86e92775a58 [file] [log] [blame]
/**
* Copyright (c) 2011, 2015 - Lunifera GmbH (Gross Enzersdorf, Austria), Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Florian Pirchner - Initial implementation
*/
package org.eclipse.osbp.runtime.web.vaadin.databinding.tests.model;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import org.eclipse.core.databinding.DataBindingContext;
import org.eclipse.core.databinding.observable.value.WritableValue;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.eclipse.osbp.runtime.web.vaadin.databinding.VaadinObservables;
import org.eclipse.osbp.runtime.web.vaadin.databinding.properties.PropertyInfo;
import com.vaadin.data.util.ObjectProperty;
import com.vaadin.data.util.PropertysetItem;
public class ItemPropertySetInfoTest {
@Before
public void setup() {
DefaultUI.setCurrent(new DefaultUI());
VaadinObservables.getRealm(DefaultUI.getCurrent());
}
@SuppressWarnings("unchecked")
// @Test
public void test_itemPropertySet() {
PropertysetItem item = new PropertysetItem();
WritableValue value = new WritableValue();
DataBindingContext dbc = new DataBindingContext();
dbc.bindValue(value,
VaadinObservables.observeItemPropertySetInfoValue(item));
item.addItemProperty("1", new ObjectProperty<String>("1"));
Collection<PropertyInfo> infos = (Collection<PropertyInfo>) value
.getValue();
Assert.assertEquals(1, infos.size());
item.addItemProperty("2", new ObjectProperty<String>("2"));
infos = (Collection<PropertyInfo>) value.getValue();
Assert.assertEquals(2, infos.size());
}
// @Test
public void test_itemPropertySet_targetToModel() {
PropertysetItem item = new PropertysetItem();
WritableValue value = new WritableValue();
DataBindingContext dbc = new DataBindingContext();
dbc.bindValue(value,
VaadinObservables.observeItemPropertySetInfoValue(item));
List<PropertyInfo> props = new ArrayList<PropertyInfo>();
props.add(new PropertyInfo("1", new ObjectProperty<String>("1")));
value.setValue(props);
Assert.assertEquals(1, item.getItemPropertyIds().size());
props = new ArrayList<PropertyInfo>(props);
props.add(new PropertyInfo("2", new ObjectProperty<String>("2")));
value.setValue(props);
Assert.assertEquals(2, item.getItemPropertyIds().size());
}
@Test
public void test_itemPropertySet_2Items() {
PropertysetItem item1 = new PropertysetItem();
PropertysetItem item2 = new PropertysetItem();
DataBindingContext dbc = new DataBindingContext();
dbc.bindValue(VaadinObservables.observeItemPropertySetInfoValue(item1),
VaadinObservables.observeItemPropertySetInfoValue(item2));
item1.addItemProperty("1", new ObjectProperty<String>("1"));
Assert.assertEquals(item1.getItemPropertyIds().size(), item2
.getItemPropertyIds().size());
item2.addItemProperty("2", new ObjectProperty<String>("2"));
Assert.assertEquals(item1.getItemPropertyIds().size(), item2
.getItemPropertyIds().size());
item1.removeItemProperty("1");
Assert.assertEquals(item1.getItemPropertyIds().size(), item2
.getItemPropertyIds().size());
item2.removeItemProperty("2");
Assert.assertEquals(item1.getItemPropertyIds().size(), item2
.getItemPropertyIds().size());
}
}