// Path: nexusdata/src/main/java/com/github/dkharrat/nexusdata/predicate/ExpressionBuilder.java
// public class ExpressionBuilder {
//     private final Expression curExpression;
// 
//     ExpressionBuilder(Expression curExp) {
//         curExpression = curExp;
//     }
// 
//     public Expression getExpression() {
//         return curExpression;
//     }
// 
//     public static <T> PredicateBuilder constant(T value) {
//         return new PredicateBuilder(new ConstantExpression<T>(value));
//     }
// 
//     public static PredicateBuilder field(String fieldPath) {
//         return new PredicateBuilder(new FieldPathExpression(fieldPath));
//     }
// 
//     public static PredicateBuilder self() {
//         return new PredicateBuilder(new ThisExpression());
//     }
// }


import junit.framework.TestCase;
import com.github.dkharrat.nexusdata.predicate.ExpressionBuilder;
import com.github.dkharrat.nexusdata.predicate.Predicate;
package com.github.dkharrat.nexusdata.test;



public class PredicatesTest extends TestCase {

    class Book {
        String title;
        String authorName;
        int pages;

        Book(String title, int pages) {
            this.title = title;
            this.pages = pages;
        }
    }

    @Override
    protected void setUp() throws Exception {
        super.setUp();
    }

    @Override
    protected void tearDown() throws Exception {
        super.tearDown();
    }

    public void testSimplePredicateTrue() throws Throwable {
// Path: nexusdata/src/main/java/com/github/dkharrat/nexusdata/predicate/ExpressionBuilder.java
// public class ExpressionBuilder {
//     private final Expression curExpression;
// 
//     ExpressionBuilder(Expression curExp) {
//         curExpression = curExp;
//     }
// 
//     public Expression getExpression() {
//         return curExpression;
//     }
// 
//     public static <T> PredicateBuilder constant(T value) {
//         return new PredicateBuilder(new ConstantExpression<T>(value));
//     }
// 
//     public static PredicateBuilder field(String fieldPath) {
//         return new PredicateBuilder(new FieldPathExpression(fieldPath));
//     }
// 
//     public static PredicateBuilder self() {
//         return new PredicateBuilder(new ThisExpression());
//     }
// }


// Path: nexusdata/src/androidTest/java/com/github/dkharrat/nexusdata/test/PredicatesTest.java
import junit.framework.TestCase;
import com.github.dkharrat.nexusdata.predicate.ExpressionBuilder;
import com.github.dkharrat.nexusdata.predicate.Predicate;

package com.github.dkharrat.nexusdata.test;



public class PredicatesTest extends TestCase {

    class Book {
        String title;
        String authorName;
        int pages;

        Book(String title, int pages) {
            this.title = title;
            this.pages = pages;
        }
    }

    @Override
    protected void setUp() throws Exception {
        super.setUp();
    }

    @Override
    protected void tearDown() throws Exception {
        super.tearDown();
    }

    public void testSimplePredicateTrue() throws Throwable {
        Predicate p = ExpressionBuilder.constant("1").eq("1").getPredicate();