// Path: src/main/java/in/cubestack/android/lib/storm/core/EntityMetaDataCache.java
// public class EntityMetaDataCache {
//     private static final Map<String, TableInformation> cache = new HashMap<String, TableInformation>();
//     
//     private static AliasGenerator aliasGenerator = new AliasGenerator();
// 
//     public static void cacheInformation(Class<?> entityClass, TableInformation metaData) {
//         cache.put(entityClass.getName(), metaData);
//     }
// 
//     public static TableInformation getMetaData(Class<?> entityClass) throws IllegalArgumentException, IllegalAccessException, InstantiationException, StormException {
//         TableInformation tableInformation = cache.get(entityClass.getName());
//         if (tableInformation == null) {
//             synchronized (EntityMetaDataCache.class) {
//                 if (cache.get(entityClass.getName()) == null) {
//                     tableInformation = new MetaDataReader().readAnnotations(entityClass, aliasGenerator);
//                     cacheInformation(entityClass, tableInformation);
//                 }
//             }
//         }
//         return tableInformation;
//     }
// }
// 
// Path: src/main/java/in/cubestack/android/lib/storm/core/StormException.java
// public class StormException extends Exception {
// 
// 	private static final long serialVersionUID = -563476450614494464L;
// 
// 	public StormException(Throwable throwable) {
// 		super(throwable);
// 	}
// 	
// 	public StormException(String msg) {
// 		super(msg);
// 	}
// 
// 	public StormException(String msg, Exception exception) {
// 		super(msg, exception);
// 	}
// 	
// 	
// }
// 
// Path: src/test/java/in/cubestack/apps/android/storm/entitites/TestEntity.java
// @Table(name="TEST_TAB")
// @LifeCycle(handler=TestHandler.class)
// public class TestEntity {
// 	
// 	@PrimaryKey
// 	@Column(name="ID", type=FieldType.INTEGER)
// 	private int id;
// 	
// 	@Column(name="NAME", type=FieldType.TEXT)
// 	private String name;
// 	
// 	@Column(name="RATE", type=FieldType.DOUBLE)
// 	private double rate;
// 	
// 	
// 	@Column(name="PRICE", type=FieldType.REAL)
// 	private int price;
// 	
// 	@Relation(fetchType=FetchType.EAGER, joinOnColumn="id", joinColumn="parentId", targetEntity = TestChild.class, cascade={CascadeTypes.PERSIST, CascadeTypes.DELETE})
// 	private List<TestChild> childs =new ArrayList<TestChild>();
// 
// 	@Relation(fetchType=FetchType.EAGER, joinOnColumn="id", joinColumn="parentId", targetEntity = TestSetBasedEntity.class, cascade={CascadeTypes.PERSIST, CascadeTypes.DELETE})
// 	private Set<TestSetBasedEntity> chils;
// 
// 	
// 	@Relation(fetchType=FetchType.EAGER,   joinOnColumn="id",joinColumn="parentId", targetEntity = TestRandomEntity.class, cascade={CascadeTypes.PERSIST, CascadeTypes.DELETE})
// 	private TestRandomEntity entity;
// 
// 	@Relation(fetchType=FetchType.EAGER,  joinColumn="parentId", targetEntity = TestAnother.class, cascade={CascadeTypes.PERSIST, CascadeTypes.DELETE})
// 	private TestAnother another;
// 
// 	public int getId() {
// 		return id;
// 	}
// 
// 
// 	public void setId(int id) {
// 		this.id = id;
// 	}
// 
// 
// 	public String getName() {
// 		return name;
// 	}
// 
// 
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// 
// 
// 	public double getRate() {
// 		return rate;
// 	}
// 
// 
// 	public void setRate(double rate) {
// 		this.rate = rate;
// 	}
// 
// 
// 	public int getPrice() {
// 		return price;
// 	}
// 
// 
// 	public void setPrice(int price) {
// 		this.price = price;
// 	}
// 
// 
// 	public List<TestChild> getChilds() {
// 		return childs;
// 	}
// 
// 
// 	public void setChilds(List<TestChild> childs) {
// 		this.childs = childs;
// 	}
// 
// 
// 	public Set<TestSetBasedEntity> getChils() {
// 		return chils;
// 	}
// 
// 
// 	public void setChils(Set<TestSetBasedEntity> chils) {
// 		this.chils = chils;
// 	}
// 
// 
// 	public TestRandomEntity getEntity() {
// 		return entity;
// 	}
// 
// 
// 	public void setEntity(TestRandomEntity entity) {
// 		this.entity = entity;
// 	}
// 
// 
// 	public TestAnother getAnother() {
// 		return another;
// 	}
// 
// 
// 	public void setAnother(TestAnother another) {
// 		this.another = another;
// 	}
// 	
// 	
// 
// 	
// 
// 	
// 	
// 
// }


import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import in.cubestack.android.lib.storm.core.EntityMetaDataCache;
import in.cubestack.android.lib.storm.core.StormException;
import in.cubestack.apps.android.storm.entitites.TestEntity;

/**
 * 
 */
package in.cubestack.android.lib.storm.criteria;



/**
 * @author Supal Dubey
 *
 */
public class MultiCriteriaTests {
	
	private Restrictions restrictions;
	
	@Before
	public void init() {

// Path: src/main/java/in/cubestack/android/lib/storm/core/EntityMetaDataCache.java
// public class EntityMetaDataCache {
//     private static final Map<String, TableInformation> cache = new HashMap<String, TableInformation>();
//     
//     private static AliasGenerator aliasGenerator = new AliasGenerator();
// 
//     public static void cacheInformation(Class<?> entityClass, TableInformation metaData) {
//         cache.put(entityClass.getName(), metaData);
//     }
// 
//     public static TableInformation getMetaData(Class<?> entityClass) throws IllegalArgumentException, IllegalAccessException, InstantiationException, StormException {
//         TableInformation tableInformation = cache.get(entityClass.getName());
//         if (tableInformation == null) {
//             synchronized (EntityMetaDataCache.class) {
//                 if (cache.get(entityClass.getName()) == null) {
//                     tableInformation = new MetaDataReader().readAnnotations(entityClass, aliasGenerator);
//                     cacheInformation(entityClass, tableInformation);
//                 }
//             }
//         }
//         return tableInformation;
//     }
// }
// 
// Path: src/main/java/in/cubestack/android/lib/storm/core/StormException.java
// public class StormException extends Exception {
// 
// 	private static final long serialVersionUID = -563476450614494464L;
// 
// 	public StormException(Throwable throwable) {
// 		super(throwable);
// 	}
// 	
// 	public StormException(String msg) {
// 		super(msg);
// 	}
// 
// 	public StormException(String msg, Exception exception) {
// 		super(msg, exception);
// 	}
// 	
// 	
// }
// 
// Path: src/test/java/in/cubestack/apps/android/storm/entitites/TestEntity.java
// @Table(name="TEST_TAB")
// @LifeCycle(handler=TestHandler.class)
// public class TestEntity {
// 	
// 	@PrimaryKey
// 	@Column(name="ID", type=FieldType.INTEGER)
// 	private int id;
// 	
// 	@Column(name="NAME", type=FieldType.TEXT)
// 	private String name;
// 	
// 	@Column(name="RATE", type=FieldType.DOUBLE)
// 	private double rate;
// 	
// 	
// 	@Column(name="PRICE", type=FieldType.REAL)
// 	private int price;
// 	
// 	@Relation(fetchType=FetchType.EAGER, joinOnColumn="id", joinColumn="parentId", targetEntity = TestChild.class, cascade={CascadeTypes.PERSIST, CascadeTypes.DELETE})
// 	private List<TestChild> childs =new ArrayList<TestChild>();
// 
// 	@Relation(fetchType=FetchType.EAGER, joinOnColumn="id", joinColumn="parentId", targetEntity = TestSetBasedEntity.class, cascade={CascadeTypes.PERSIST, CascadeTypes.DELETE})
// 	private Set<TestSetBasedEntity> chils;
// 
// 	
// 	@Relation(fetchType=FetchType.EAGER,   joinOnColumn="id",joinColumn="parentId", targetEntity = TestRandomEntity.class, cascade={CascadeTypes.PERSIST, CascadeTypes.DELETE})
// 	private TestRandomEntity entity;
// 
// 	@Relation(fetchType=FetchType.EAGER,  joinColumn="parentId", targetEntity = TestAnother.class, cascade={CascadeTypes.PERSIST, CascadeTypes.DELETE})
// 	private TestAnother another;
// 
// 	public int getId() {
// 		return id;
// 	}
// 
// 
// 	public void setId(int id) {
// 		this.id = id;
// 	}
// 
// 
// 	public String getName() {
// 		return name;
// 	}
// 
// 
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// 
// 
// 	public double getRate() {
// 		return rate;
// 	}
// 
// 
// 	public void setRate(double rate) {
// 		this.rate = rate;
// 	}
// 
// 
// 	public int getPrice() {
// 		return price;
// 	}
// 
// 
// 	public void setPrice(int price) {
// 		this.price = price;
// 	}
// 
// 
// 	public List<TestChild> getChilds() {
// 		return childs;
// 	}
// 
// 
// 	public void setChilds(List<TestChild> childs) {
// 		this.childs = childs;
// 	}
// 
// 
// 	public Set<TestSetBasedEntity> getChils() {
// 		return chils;
// 	}
// 
// 
// 	public void setChils(Set<TestSetBasedEntity> chils) {
// 		this.chils = chils;
// 	}
// 
// 
// 	public TestRandomEntity getEntity() {
// 		return entity;
// 	}
// 
// 
// 	public void setEntity(TestRandomEntity entity) {
// 		this.entity = entity;
// 	}
// 
// 
// 	public TestAnother getAnother() {
// 		return another;
// 	}
// 
// 
// 	public void setAnother(TestAnother another) {
// 		this.another = another;
// 	}
// 	
// 	
// 
// 	
// 
// 	
// 	
// 
// }


// Path: src/test/java/in/cubestack/android/lib/storm/criteria/MultiCriteriaTests.java
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import in.cubestack.android.lib.storm.core.EntityMetaDataCache;
import in.cubestack.android.lib.storm.core.StormException;
import in.cubestack.apps.android.storm.entitites.TestEntity;

/**
 * 
 */
package in.cubestack.android.lib.storm.criteria;



/**
 * @author Supal Dubey
 *
 */
public class MultiCriteriaTests {
	
	private Restrictions restrictions;
	
	@Before
	public void init() {

		restrictions = StormRestrictions.restrictionsFor(TestEntity.class);
