package com.mindflakes.TeamRED.tests;
import static org.junit.Assert.*;
import java.util.Iterator;
import com.google.appengine.api.datastore.DatastoreService;
import com.google.appengine.api.datastore.DatastoreServiceFactory;
import com.mindflakes.TeamRED.menuClasses.MealMenu;
import com.vercer.engine.persist.annotation.AnnotationObjectDatastore;
import static com.google.appengine.api.datastore.Query.FilterOperator.*;
import org.joda.time.DateTime;
import org.junit.Test;
public class MealMenuPersistTest extends LocalDatastoreTestCase {
// @SuppressWarnings("unused")
private AnnotationObjectDatastore datastore;
private MealMenu mealmenu;
@Override
public void setUp()
{
super.setUp();
DatastoreService service = DatastoreServiceFactory.getDatastoreService();
datastore = new AnnotationObjectDatastore(service);
}
private void storeMenu() {
mealmenu = MealMenuTestUtils.createTestMenu();
datastore.store().instance(mealmenu).returnKeyNow();
}
@Test
public void persistTwice() {
storeMenu();
storeMenu();
Iterator<MealMenu> retrieved_menus = datastore.find().type(MealMenu.class)
.addFilter("commonsName", EQUAL, "Carrillo")
.returnResultsNow();
int count = 0;
while (retrieved_menus.hasNext()) {
retrieved_menus.next();
count++;
}
assertEquals(1, count);
}
@Test
public void checkEqual() {
assertEquals("One Equals One",1,1);
}
@Test
public void persistMenu() {
mealmenu = MealMenuTestUtils.createTestMenu();
datastore.store().instance(mealmenu).returnKeyNow();
}
@Test
public void doesMenuExist() {
mealmenu = MealMenuTestUtils.createTestMenu();
datastore.store().instance(mealmenu).returnKeyNow();
Iterator<MealMenu> retrieved_menus = datastore.find().type(MealMenu.class)
.addFilter("commonsName", EQUAL, "Carrillo")
.returnResultsNow();
MealMenu retrieve = retrieved_menus.next();
assertEquals("Name", "Carrillo", retrieve.getCommonsName());
}
@Test
public void findCommonByTime() {
storeMenu();
// Only one inequality is supported.
// 7 o clock
long early_time = new DateTime(2010, 4, 12, 7, 00, 00, 00).getMillis();
Iterator<MealMenu> future_menu = datastore.find()
.type(MealMenu.class)
.addFilter("endMillis", GREATER_THAN_OR_EQUAL, early_time)
.addSort("endMillis")
.returnResultsNow();
assertEquals("Name", "Carrillo", future_menu.next().getCommonsName());
}
}