package org.objectstyle.wolips.ruleeditor.model;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
import org.junit.Test;
public class TestSelector {
@Test(expected = IllegalArgumentException.class)
public void selectorForInvalidName() throws Exception {
Selector.forName("invalidName");
}
@Test(expected = IllegalArgumentException.class)
public void selectorForInvalidOperator() throws Exception {
Selector.forOperator("invalidOperator");
}
@Test
public void selectorForNullName() throws Exception {
assertThat(Selector.forName(null), is(Selector.EQUAL));
}
@Test
public void selectorForNullOperator() throws Exception {
assertThat(Selector.forOperator(null), is(Selector.EQUAL));
}
@Test
public void selectorForValidName() throws Exception {
assertThat(Selector.forName("isEqualTo"), is(Selector.EQUAL));
assertThat(Selector.forName("isNotEqualTo"), is(Selector.NOT_EQUAL));
assertThat(Selector.forName("isLessThan"), is(Selector.LESS_THAN));
assertThat(Selector.forName("isLessThanOrEqualTo"), is(Selector.LESS_THAN_OR_EQUAL));
assertThat(Selector.forName("isGreaterThan"), is(Selector.GREATER_THAN));
assertThat(Selector.forName("isGreaterThanOrEqualTo"), is(Selector.GREATER_THAN_OR_EQUAL));
assertThat(Selector.forName("isLike"), is(Selector.LIKE));
}
@Test
public void selectorForValidOperator() throws Exception {
assertThat(Selector.forOperator("="), is(Selector.EQUAL));
assertThat(Selector.forOperator("!="), is(Selector.NOT_EQUAL));
assertThat(Selector.forOperator("<"), is(Selector.LESS_THAN));
assertThat(Selector.forOperator("<="), is(Selector.LESS_THAN_OR_EQUAL));
assertThat(Selector.forOperator(">"), is(Selector.GREATER_THAN));
assertThat(Selector.forOperator(">="), is(Selector.GREATER_THAN_OR_EQUAL));
assertThat(Selector.forOperator("like"), is(Selector.LIKE));
}
@Test
public void supportForIsEqual() throws Exception {
assertThat(Selector.forName("isEqual"), is(Selector.EQUAL));
}
}