package org.robobinding.widget.absspinner;
import static org.robobinding.widget.absspinner.AdaptedAbsSpinnerDataSetAttributes.DROPDOWN_LAYOUT;
import static org.robobinding.widget.absspinner.AdaptedAbsSpinnerDataSetAttributes.DROPDOWN_MAPPING;
import static org.robobinding.widget.adapterview.AbstractAdaptedDataSetAttributes.ITEM_LAYOUT;
import static org.robobinding.widget.adapterview.AbstractAdaptedDataSetAttributes.ITEM_MAPPING;
import static org.robobinding.widget.adapterview.AbstractAdaptedDataSetAttributes.SOURCE;
import org.junit.Test;
import org.robobinding.widget.AbstractGroupedViewAttributeTest;
import org.robolectric.annotation.Config;
import android.widget.Spinner;
/**
*
* @since 1.0
* @version $Revision: 1.0 $
* @author Robert Taylor
*/
@Config(manifest = Config.NONE)
public class AdaptedAbsSpinnerDataSetAttributesTest extends AbstractGroupedViewAttributeTest<Spinner, AdaptedAbsSpinnerDataSetAttributes> {
private final Attribute source = attribute("source={source_property}");
private final Attribute itemLayout = attribute("itemLayout=@layout/itemLayout");
private final Attribute itemMapping = attribute("itemMapping=[text1.title:{title}]");
private final Attribute dropdownLayout = attribute("dropdownLayout=@layout/dropdownLayout");
private final Attribute dropdownMapping = attribute("dropdownMapping=[text1.title:{artist}]");
@Test
public void givenSourceItemLayoutAndDropdownLayout_thenCreateAllAttributes() {
givenAttributes(source, itemLayout, dropdownLayout);
performInitialization();
assertThatAttributesWereCreated(SOURCE, ITEM_LAYOUT, DROPDOWN_LAYOUT);
}
@Test
public void givenSourceItemLayoutDropdownLayoutAndDropdownMapping_thenCreateAllAttributes() {
givenAttributes(source, itemLayout, dropdownLayout, dropdownMapping);
performInitialization();
assertThatAttributesWereCreated(SOURCE, ITEM_LAYOUT, DROPDOWN_LAYOUT, DROPDOWN_MAPPING);
}
@Test
public void givenAllDataSetAttributes_thenCreateAllAttributes() {
givenAttributes(source, itemLayout, itemMapping, dropdownLayout, dropdownMapping);
performInitialization();
assertThatAttributesWereCreated(SOURCE, ITEM_LAYOUT, ITEM_MAPPING, DROPDOWN_LAYOUT, DROPDOWN_MAPPING);
}
@Test(expected = RuntimeException.class)
public void givenDropdownLayoutAttributeOnly_thenReject() {
givenAttributes(dropdownLayout);
performInitialization();
}
}