Package in.partake.model.dao.access

Source Code of in.partake.model.dao.access.EventActivityAccessTest

package in.partake.model.dao.access;

import in.partake.app.PartakeApp;
import in.partake.base.DateTime;
import in.partake.base.PartakeException;
import in.partake.model.IPartakeDAOs;
import in.partake.model.access.DBAccess;
import in.partake.model.dao.DAOException;
import in.partake.model.dao.PartakeConnection;
import in.partake.model.dao.access.IEventActivityAccess;
import in.partake.model.dto.EventActivity;

import java.util.List;
import java.util.UUID;

import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

public class EventActivityAccessTest extends AbstractDaoTestCaseBase<IEventActivityAccess, EventActivity, String> {
    @Before
    public void setup() throws Exception {
        super.setup(PartakeApp.getDBService().getDAOs().getEventActivityAccess());
    }

    @Override
    public EventActivity create(long pkNumber, String pkSalt, int objNumber) {
        UUID uuid = new UUID(pkNumber, ("activity" + pkSalt).hashCode());
        return new EventActivity(uuid.toString(), "eventId", "title" + objNumber, "content", new DateTime(objNumber % 10));
    }

    @Test
    public void testToIterator1() throws Exception {
        new DBAccess<Void>() {
            @Override
            protected Void doExecute(PartakeConnection con, IPartakeDAOs daos) throws DAOException, PartakeException {
                String eventId = "eventId-findByEventId-0-" + System.currentTimeMillis();

                con.beginTransaction();
                for (int i = 0; i < 10; ++i) {
                    EventActivity activity = new EventActivity(dao.getFreshId(con), eventId, "title-" + i, "content", new DateTime(i));
                    dao.put(con, activity);
                }
                con.commit();

                List<EventActivity> activities = dao.findByEventId(con, eventId, 10);

                Assert.assertEquals(10, activities.size());
                for (int i = 0; i < 10; ++i) {
                    Assert.assertEquals(9 - i, activities.get(i).getCreatedAt().getTime());
                }

                return null;
            }
        }.execute();
    }

    @Test
    public void testToIterator2() throws Exception {
        new DBAccess<Void>() {
            @Override
            protected Void doExecute(PartakeConnection con, IPartakeDAOs daos) throws DAOException, PartakeException {

                String eventId1 = "eventId-findByEventId-1-" + System.currentTimeMillis();
                String eventId2 = "eventId-findByEventId-2-" + System.currentTimeMillis();



                con.beginTransaction();
                for (int i = 0; i < 10; ++i) {
                    EventActivity activity = new EventActivity(dao.getFreshId(con), eventId1, "title-" + i, "content", new DateTime(i));
                    dao.put(con, activity);
                }
                for (int i = 0; i < 10; ++i) {
                    EventActivity activity = new EventActivity(dao.getFreshId(con), eventId2, "title-" + i, "content", new DateTime(i));
                    dao.put(con, activity);
                }
                con.commit();

                List<EventActivity> activities1 = dao.findByEventId(con, eventId1, 10);
                List<EventActivity> activities2 = dao.findByEventId(con, eventId2, 10);

                Assert.assertEquals(10, activities1.size());
                Assert.assertEquals(10, activities2.size());

                for (int i = 0; i < 10; ++i) {
                    Assert.assertEquals(9 - i, activities1.get(i).getCreatedAt().getTime());
                    Assert.assertEquals(9 - i, activities2.get(i).getCreatedAt().getTime());
                }

                return null;
            }
        }.execute();
    }


    @Test
    public void testToIterator3() throws Exception {
        new DBAccess<Void>() {
            @Override
            protected Void doExecute(PartakeConnection con, IPartakeDAOs daos) throws DAOException, PartakeException {

                String eventId1 = "eventId-findByEventId-1-" + System.currentTimeMillis();
                String eventId2 = "eventId-findByEventId-2-" + System.currentTimeMillis();

                con.beginTransaction();
                for (int i = 0; i < 100; ++i) {
                    EventActivity activity = new EventActivity(dao.getFreshId(con), eventId1, "title-" + i, "content", new DateTime(i));
                    dao.put(con, activity);
                }
                con.commit();
                con.beginTransaction();
                for (int i = 0; i < 100; ++i) {
                    EventActivity activity = new EventActivity(dao.getFreshId(con), eventId2, "title-" + i, "content", new DateTime(i));
                    dao.put(con, activity);
                }
                con.commit();


                List<EventActivity> activities1 = dao.findByEventId(con, eventId1, 100);
                List<EventActivity> activities2 = dao.findByEventId(con, eventId2, 100);

                Assert.assertEquals(100, activities1.size());
                Assert.assertEquals(100, activities2.size());

                // TODO: JPA ではミリ秒が考慮されてないっぽい。(10 ミリ秒単位で四捨五入された文字列が生成されている)
                // FIXME: これキャストとかしないとだめなんか?
                for (int i = 0; i < 100; ++i) {
                    Assert.assertEquals(99 - i, activities1.get(i).getCreatedAt().getTime());
                    Assert.assertEquals(99 - i, activities2.get(i).getCreatedAt().getTime());
                }

                return null;
            }
        }.execute();
    }
}
TOP

Related Classes of in.partake.model.dao.access.EventActivityAccessTest

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.