package org.richfaces.cdk.xmlconfig;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import java.util.Collection;
import org.junit.Test;
import org.richfaces.cdk.model.ClassName;
import org.richfaces.cdk.model.ComponentModel;
import org.richfaces.cdk.model.FacesId;
import org.richfaces.cdk.model.PropertyBase;
import org.richfaces.cdk.xmlconfig.model.ComponentAdapter;
import org.richfaces.cdk.xmlconfig.model.ComponentBean;
import org.richfaces.cdk.xmlconfig.model.ComponentBean.ComponentExtension;
import com.google.common.collect.Iterables;
public class ComponentAdapterTest {
private static final String BAZ = "baz";
private static final String FOO_BAR = "foo.Bar";
private static final String FOO_DESCTIPTION = "foo.Desctiption";
private static final FacesId FOO_FAMILY = FacesId.parseId("foo.Family");
private static final String FOO_UI_BAR = "foo.UIBar";
@Test
public void testComponentAdapter() throws Exception {
ComponentModel component = new ComponentModel(FacesId.parseId(FOO_BAR));
component.setDescription(FOO_DESCTIPTION);
component.setTargetClass(ClassName.parseName(FOO_UI_BAR));
component.getOrCreateAttribute(BAZ);
component.setFamily(FOO_FAMILY);
ComponentAdapter componentAdapter = new ComponentAdapter();
ComponentBean componentBean = componentAdapter.marshal(component);
assertEquals(FOO_BAR, componentBean.getId().toString());
Collection<PropertyBase> attributes = componentBean.getAttributes();
assertEquals(1, attributes.size());
assertEquals(BAZ, Iterables.getOnlyElement(attributes).getName());
ComponentExtension extension = componentBean.getExtension();
assertNotNull(extension);
assertEquals(FOO_FAMILY, extension.getFamily());
}
@Test
public void testCopyExtensions() {
// fail("Not yet implemented");
}
@Test
public void testCopyProperties() {
// fail("Not yet implemented");
}
}