/*
* Copyright (C) 2011-2016 Markus Junginger, greenrobot (http://greenrobot.org)
*
* This file is part of greenDAO Generator.
*
* greenDAO Generator is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* greenDAO Generator is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with greenDAO Generator. If not, see <http://www.gnu.org/licenses/>.
*/
package org.greenrobot.greendao.daotest.entity;
import java.util.Arrays;
import org.greenrobot.greendao.test.AbstractDaoTestLongPk;
import org.greenrobot.greendao.daotest.SimpleEntity;
import org.greenrobot.greendao.daotest.SimpleEntityDao;
public class SimpleEntityTest extends AbstractDaoTestLongPk<SimpleEntityDao, SimpleEntity> {
public SimpleEntityTest() {
super(SimpleEntityDao.class);
}
@Override
protected SimpleEntity createEntity(Long key) {
SimpleEntity entity = new SimpleEntity();
entity.setId(key);
return entity;
}
public void testValuesNull() {
SimpleEntity entity = createEntity(1l);
dao.insert(entity);
SimpleEntity reloaded = dao.load(1l);
assertNotSame(entity, reloaded);
assertEquals(entity.getId(), reloaded.getId());
assertValuesNull(reloaded);
}
public void testValues() {
SimpleEntity entity = createEntity(1l);
setValues(entity);
dao.insert(entity);
SimpleEntity reloaded = dao.load(1l);
assertNotSame(entity, reloaded);
assertValues(reloaded);
}
public void testUpdateValues() {
SimpleEntity entity = createEntity(1l);
dao.insert(entity);
entity = dao.load(1l);
setValues(entity);
dao.update(entity);
SimpleEntity reloaded = dao.load(1l);
assertNotSame(entity, reloaded);
assertValues(reloaded);
}
public void testUpdateValuesToNull() {
SimpleEntity entity = createEntity(1l);
setValues(entity);
dao.insert(entity);
entity = dao.load(1l);
assertValues(entity);
setValuesToNull(entity);
dao.update(entity);
SimpleEntity reloaded = dao.load(1l);
assertNotSame(entity, reloaded);
assertValuesNull(reloaded);
}
protected void assertValues(SimpleEntity reloaded) {
assertEquals(1l, (long) reloaded.getId());
assertEquals(true, (boolean) reloaded.getSimpleBoolean());
assertEquals(Double.MAX_VALUE, reloaded.getSimpleDouble());
assertEquals(Float.MAX_VALUE, reloaded.getSimpleFloat());
assertEquals(Long.MAX_VALUE, (long) reloaded.getSimpleLong());
assertEquals(Byte.MAX_VALUE, (byte) reloaded.getSimpleByte());
assertEquals(Integer.MAX_VALUE, (int) reloaded.getSimpleInt());
assertEquals(Short.MAX_VALUE, (short) reloaded.getSimpleShort());
assertEquals("greenrobot greenDAO", reloaded.getSimpleString());
byte[] bytes = { 42, -17, 23, 0, 127, -128 };
assertTrue(Arrays.equals(bytes, reloaded.getSimpleByteArray()));
}
protected void setValues(SimpleEntity entity) {
entity.setSimpleBoolean(true);
entity.setSimpleByte(Byte.MAX_VALUE);
entity.setSimpleShort(Short.MAX_VALUE);
entity.setSimpleInt(Integer.MAX_VALUE);
entity.setSimpleLong(Long.MAX_VALUE);
entity.setSimpleFloat(Float.MAX_VALUE);
entity.setSimpleDouble(Double.MAX_VALUE);
entity.setSimpleString("greenrobot greenDAO");
byte[] bytes = { 42, -17, 23, 0, 127, -128 };
entity.setSimpleByteArray(bytes);
}
protected void setValuesToNull(SimpleEntity entity) {
entity.setSimpleBoolean(null);
entity.setSimpleByte(null);
entity.setSimpleShort(null);
entity.setSimpleInt(null);
entity.setSimpleLong(null);
entity.setSimpleFloat(null);
entity.setSimpleDouble(null);
entity.setSimpleString(null);
entity.setSimpleByteArray(null);
}
protected void assertValuesNull(SimpleEntity reloaded) {
assertNull(reloaded.getSimpleBoolean());
assertNull(reloaded.getSimpleDouble());
assertNull(reloaded.getSimpleFloat());
assertNull(reloaded.getSimpleLong());
assertNull(reloaded.getSimpleByte());
assertNull(reloaded.getSimpleInt());
assertNull(reloaded.getSimpleShort());
assertNull(reloaded.getSimpleBoolean());
assertNull(reloaded.getSimpleString());
assertNull(reloaded.getSimpleByteArray());
}
}