Search in sources :

Example 1 with Rule

use of com.orm.androrm.Rule in project androrm by androrm.

the class FilterTest method testIs.

public void testIs() {
    Filter f = new Filter();
    f.is("product__name", "foo");
    List<Rule> filters = f.getRules();
    Rule filter = filters.get(0);
    Statement s = filter.getStatement();
    Set<String> keys = s.getKeys();
    assertEquals("product__name", filter.getKey());
    assertTrue(keys.contains("name"));
    assertEquals("name = 'foo'", s.toString());
    Product p = new Product();
    p.setName("test product");
    p.save(getContext());
    f = new Filter();
    f.is("supplier__product", p);
    filters = f.getRules();
    filter = filters.get(0);
    s = filter.getStatement();
    keys = s.getKeys();
    assertEquals("supplier__product", filter.getKey());
    assertTrue(keys.contains("product"));
    assertEquals("product = '" + p.getId() + "'", s.toString());
}
Also used : Filter(com.orm.androrm.Filter) InStatement(com.orm.androrm.statement.InStatement) Statement(com.orm.androrm.statement.Statement) LikeStatement(com.orm.androrm.statement.LikeStatement) Product(com.orm.androrm.impl.Product) Rule(com.orm.androrm.Rule)

Example 2 with Rule

use of com.orm.androrm.Rule in project androrm by androrm.

the class FilterTest method testContains.

public void testContains() {
    Filter set = new Filter();
    set.contains("supplier__name", "foo");
    List<Rule> filters = set.getRules();
    Rule filter = filters.get(0);
    Statement s = filter.getStatement();
    Set<String> keys = s.getKeys();
    assertEquals("supplier__name", filter.getKey());
    assertTrue(keys.contains("name"));
    assertTrue(s instanceof LikeStatement);
    assertEquals("name LIKE '%foo%'", s.toString());
}
Also used : LikeStatement(com.orm.androrm.statement.LikeStatement) Filter(com.orm.androrm.Filter) InStatement(com.orm.androrm.statement.InStatement) Statement(com.orm.androrm.statement.Statement) LikeStatement(com.orm.androrm.statement.LikeStatement) Rule(com.orm.androrm.Rule)

Example 3 with Rule

use of com.orm.androrm.Rule in project androrm by androrm.

the class FilterTest method testIn.

public void testIn() {
    Filter set = new Filter();
    List<Integer> values = new ArrayList<Integer>();
    values.add(3);
    values.add(5);
    set.in("product__id", values);
    List<Rule> filters = set.getRules();
    Rule filter = filters.get(0);
    Statement s = filter.getStatement();
    Set<String> keys = s.getKeys();
    assertEquals("product__id", filter.getKey());
    assertTrue(keys.contains("id"));
    assertTrue(s instanceof InStatement);
    assertEquals("id IN ('3','5')", s.toString());
    List<Product> products = new ArrayList<Product>();
    Product p1 = new Product();
    p1.setName("test 1");
    p1.save(getContext());
    Product p2 = new Product();
    p2.setName("test 2");
    p2.save(getContext());
    products.add(p1);
    products.add(p2);
    set = new Filter();
    set.in("supplier__product", products);
    filters = set.getRules();
    filter = filters.get(0);
    s = filter.getStatement();
    keys = s.getKeys();
    assertEquals("supplier__product", filter.getKey());
    assertTrue(keys.contains("product"));
    assertTrue(s instanceof InStatement);
    assertEquals("product IN ('" + p1.getId() + "','" + p2.getId() + "')", s.toString());
}
Also used : InStatement(com.orm.androrm.statement.InStatement) Filter(com.orm.androrm.Filter) InStatement(com.orm.androrm.statement.InStatement) Statement(com.orm.androrm.statement.Statement) LikeStatement(com.orm.androrm.statement.LikeStatement) ArrayList(java.util.ArrayList) Product(com.orm.androrm.impl.Product) Rule(com.orm.androrm.Rule)

Example 4 with Rule

use of com.orm.androrm.Rule in project androrm by androrm.

the class RuleTest method testFilter.

public void testFilter() {
    Statement s = new Statement("bar", "baz");
    Rule f = new Rule("foo", s);
    assertEquals("foo", f.getKey());
    assertEquals(s, f.getStatement());
}
Also used : Statement(com.orm.androrm.statement.Statement) Rule(com.orm.androrm.Rule)

Aggregations

Rule (com.orm.androrm.Rule)4 Statement (com.orm.androrm.statement.Statement)4 Filter (com.orm.androrm.Filter)3 InStatement (com.orm.androrm.statement.InStatement)3 LikeStatement (com.orm.androrm.statement.LikeStatement)3 Product (com.orm.androrm.impl.Product)2 ArrayList (java.util.ArrayList)1