mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
#919 - io.ebean package initial
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
package org.tests.enhancement;
|
||||
|
||||
import io.ebean.BaseTestCase;
|
||||
import org.tests.model.basic.MRole;
|
||||
import org.tests.model.basic.MUser;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class TestConstructorManyAddAll extends BaseTestCase {
|
||||
|
||||
@Test
|
||||
public void test() {
|
||||
|
||||
List<MRole> startRoles = new ArrayList<>();
|
||||
MUser mUser = new MUser(startRoles);
|
||||
mUser.getRoles();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package org.tests.enhancement;
|
||||
|
||||
import io.ebean.BaseTestCase;
|
||||
import io.ebean.bean.EntityBean;
|
||||
import io.ebean.bean.EntityBeanIntercept;
|
||||
import org.tests.model.basic.PFile;
|
||||
import org.tests.model.basic.PFileContent;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
public class TestConstructorPutfieldReplacement extends BaseTestCase {
|
||||
|
||||
@Test
|
||||
public void test() {
|
||||
|
||||
PFile persistentFile = new PFile("test.txt", new PFileContent("test".getBytes()));
|
||||
|
||||
EntityBean eb = (EntityBean) persistentFile;
|
||||
EntityBeanIntercept ebi = eb._ebean_getIntercept();
|
||||
|
||||
int namePos = ebi.findProperty("name");
|
||||
int fileContentPos = ebi.findProperty("fileContent");
|
||||
|
||||
Assert.assertTrue(ebi.isLoadedProperty(namePos));
|
||||
Assert.assertTrue(ebi.isLoadedProperty(fileContentPos));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
package org.tests.enhancement;
|
||||
|
||||
import io.ebean.BaseTestCase;
|
||||
import org.tests.model.basic.Product;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
/**
|
||||
* Note take care if you run this test in an IDE with a debugger as that can trigger the equals and
|
||||
* hashCode (and the identity value can get populated un-normally).
|
||||
*/
|
||||
public class TestEnhancementEquals extends BaseTestCase {
|
||||
|
||||
|
||||
@Test
|
||||
public void testEqualsBasedOnIdValue() {
|
||||
|
||||
Product product1 = new Product();
|
||||
product1.setId(345);
|
||||
product1.setName("blah");
|
||||
|
||||
Product product2 = new Product();
|
||||
product2.setId(345);
|
||||
|
||||
Assert.assertEquals("equal based on id", product1, product2);
|
||||
Assert.assertEquals("hashCode equal based on id", product1.hashCode(), product2.hashCode());
|
||||
|
||||
product2.setName("kumera");
|
||||
Assert.assertEquals("still equal based on identity", product1, product2);
|
||||
Assert.assertEquals("still hashCode equal based on id", product1.hashCode(), product2.hashCode());
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testWhenEqualsTouchedFirst() {
|
||||
|
||||
Product product1 = new Product();
|
||||
product1.setName("blah");
|
||||
int hashcode1 = product1.hashCode();
|
||||
|
||||
// equals has been called so the hashCode and 'identity' has been baked in
|
||||
product1.setId(345);
|
||||
int hashcode2 = product1.hashCode();
|
||||
|
||||
Assert.assertEquals("hashCode can't change", hashcode1, hashcode2);
|
||||
|
||||
Product product2 = new Product();
|
||||
product2.setId(345);
|
||||
|
||||
Assert.assertFalse("Not equal now", product1.equals(product2));
|
||||
Assert.assertTrue("Different hashCode", product1.hashCode() != product2.hashCode());
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user