Package org.cedj.geekseek.domain.persistence.test.unit

Source Code of org.cedj.geekseek.domain.persistence.test.unit.BaseEntityTimestampableSpecificionTestCase

package org.cedj.geekseek.domain.persistence.test.unit;

import java.util.Date;

import org.cedj.geekseek.domain.persistence.model.BaseEntity;
import org.cedj.geekseek.domain.persistence.test.unit.BaseEntityTimestampableSpecificionTestCase.TestBaseEntity;
import org.cedj.geekseek.domain.test.unit.TimestampableSpecification;
import org.junit.Assert;
import org.junit.Test;

public class BaseEntityTimestampableSpecificionTestCase extends TimestampableSpecification<TestBaseEntity> {

    @Override
    protected TestBaseEntity createInstance() {
        return new TestBaseEntity();
    }

    @Override
    protected void forceCreated(TestBaseEntity entity) {
        entity.onCreate();
    }

    @Override
    protected void forceUpdate(TestBaseEntity entity) {
        entity.onUpdate();
    }

    @Test
    public void shouldNotLeakUpdatedDate() throws Exception {
        TestBaseEntity base = new TestBaseEntity();
        base.onUpdate();

        Date date = base.getLastUpdated();
        date.setTime(100);

        Assert.assertNotEquals(date, base.getLastUpdated());
    }

    public static class TestBaseEntity extends BaseEntity {
        private static final long serialVersionUID = 1L;

        public TestBaseEntity() {
            super("test");
        }

        @Override
        public void onCreate() {
            super.onCreate();
        }

        @Override
        public void onUpdate() {
            super.onUpdate();
        }
    }
}
TOP

Related Classes of org.cedj.geekseek.domain.persistence.test.unit.BaseEntityTimestampableSpecificionTestCase

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.