Newer
Older
simple-database / test / nl / astraeus / database / TestSelectAll.java
package nl.astraeus.database;

import java.util.List;
import java.util.Map;

import nl.astraeus.database.cache.ObjectCache;
import nl.astraeus.database.test.model.Person;

import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * Date: 11/16/13
 * Time: 12:27 AM
 */
public class TestSelectAll extends BaseTest {
    private final static Logger logger = LoggerFactory.getLogger(TestSelectAll.class);

    @BeforeClass
    public static void createDatabase() {
        BaseTest.createDatabase("jdbc:h2:mem:TestSelectAll");
    }

    @Test
    public void testSelectAll() {
        createPersons();

        List<Person> persons = personDao.all();

        Assert.assertEquals(persons.size(), 5);

        db.getCache().clear();

        long start1 = System.nanoTime();
        persons = personDao.all();
        long stop1 = System.nanoTime();

        for (Person person : persons) {
            logger.info("all Found: " + person.getName());
        }

        long start2 = System.nanoTime();
        persons = personDao.all();
        long stop2 = System.nanoTime();

        for (Person person : persons) {
            logger.info("2all Found: "+person.getName());
        }

        long start3 = System.nanoTime();
        persons = personDao.all();
        long stop3 = System.nanoTime();

        for (Person person : persons) {
            logger.info("3all Found: "+person.getName());
        }

        logger.info("time1 "+(stop1-start1));
        logger.info("time2 "+(stop2-start2));
        logger.info("time3 "+(stop3-start3));

        Map<Class<?>, ObjectCache<?>> cache = db.getCache().getCache();

        for (Class cls : cache.keySet()) {
            logger.info("# Cached "+cls.getSimpleName()+": " + cache.get(cls).getNumberCached());
        }
    }

}