Package cat.quickdb.features20100702

Source Code of cat.quickdb.features20100702.FeaturesTest

package cat.quickdb.features20100702;

import cat.quickdb.features20100702.model.CacheCollection;
import cat.quickdb.features20100702.model.CacheUpdateCollection;
import cat.quickdb.features20100702.model.Execution;
import cat.quickdb.features20100702.model.ExecutionOtherClass;
import cat.quickdb.features20100702.model.Optimistic;
import cat.quickdb.tests.QuickDBTests;
import java.util.ArrayList;
import org.junit.*;
import quickdb.db.AdminBase;
import quickdb.exception.OptimisticLockException;

/**
*
* @author Diego Sarmentero
*/
public class FeaturesTest {

    private AdminBase admin;

    @Before
    public void configure() {
        this.admin = AdminBase.initialize(QuickDBTests.db, QuickDBTests.host,
                QuickDBTests.port, QuickDBTests.instanceDB,
                QuickDBTests.user, QuickDBTests.pass, QuickDBTests.scheme);
    }

    @Test
    public void testBeforeAfterSameClass(){
        Execution e = new Execution();
        e.setDescription("description");
        e.setValue(5);

        Assert.assertTrue(admin.save(e));

        Assert.assertEquals(22, e.getValue());

        admin.obtain(e).If("description").equal("description").find();
        Assert.assertEquals(999, e.getValue());
    }

    @Test
    public void testBeforeAfterFromAnotherClass(){
        if(admin.checkTableExist("ExecutionOtherClass")){
            Assert.assertTrue(admin.executeQuery("DROP TABLE ExecutionOtherClass"));
        }
        ExecutionOtherClass ex = new ExecutionOtherClass();
        ex.setName("name");
        ex.setValue(25);

        Assert.assertTrue(admin.save(ex));

        Assert.assertEquals(40.0, ex.getValue());

        admin.obtain(ex).If("name").match("name").find();
        Assert.assertEquals(30.0, ex.getValue());
    }

    @Test
    public void testOptimisticLock(){
        Optimistic o = new Optimistic();
        o.setName("diego");
        o.setValue(5);

        Assert.assertTrue(admin.save(o));

        Optimistic o2 = new Optimistic();
        admin.obtain(o2).If("name").equal("diego").find();

        Optimistic o3 = new Optimistic();
        admin.obtain(o3).If("name").equal("diego").find();

        o3.setName("leonardo");
        Assert.assertTrue(admin.modify(o3));

        o2.setName("gato");
        boolean value = false;
        try{
            admin.modify(o2);
        }catch(OptimisticLockException e){
            value = true;
        }

        Assert.assertTrue(value);
    }

    @Test
    public void testCacheCollection(){
        for(int i = 0; i < 20; i++){
            CacheCollection cache = new CacheCollection();
            cache.setName("name" + i);
            cache.setValue(i);
            admin.save(cache);
        }

        CacheCollection cache = new CacheCollection();
        long n1 = System.currentTimeMillis();
        ArrayList array = admin.obtain(cache).findAll();
        long n2 = System.currentTimeMillis();
        Assert.assertTrue((n2-n1) > 5);

        ArrayList array2 = admin.obtain(cache).findAll();
        long n3 = System.currentTimeMillis();
        Assert.assertTrue((n3-n2) < 5);
    }

    @Test
    public void testCacheUpdateCollection(){
        for(int i = 0; i < 80; i++){
            CacheUpdateCollection cache = new CacheUpdateCollection();
            cache.setName("name" + i);
            cache.setValue(i);
            admin.save(cache);
        }

        CacheUpdateCollection cache = new CacheUpdateCollection();
        long n1 = System.currentTimeMillis();
        ArrayList array = admin.obtain(cache).findAll();
        long n2 = System.currentTimeMillis();
        Assert.assertTrue((n2-n1) > 5);

        ArrayList array2 = admin.obtain(cache).findAll();
        long n3 = System.currentTimeMillis();
        Assert.assertTrue((n3-n2) < 5);

        CacheUpdateCollection cache2 = new CacheUpdateCollection();
        cache2.setName("name-update");
        cache2.setValue(9595);
        admin.save(cache2);

        long n4 = System.currentTimeMillis();
        ArrayList array3 = admin.obtain(cache).findAll();
        long n5 = System.currentTimeMillis();
        Assert.assertTrue((n5-n4) > 5);
    }

}
TOP

Related Classes of cat.quickdb.features20100702.FeaturesTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.