CCM NG:
- Migrated more EqualsAndHashCode tests - Also added methods to add suppress warning statements and prefab values to the EqualsVertifier from the ccm-testutils module git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@4068 8810af33-2d31-482b-a856-94f89814c4dfpull/2/head
parent
1d5364bf7f
commit
f5be4f3051
|
|
@ -24,11 +24,11 @@ import org.libreccm.tests.categories.UnitTest;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
||||||
import nl.jqno.equalsverifier.EqualsVerifier;
|
import nl.jqno.equalsverifier.EqualsVerifier;
|
||||||
import nl.jqno.equalsverifier.Warning;
|
import nl.jqno.equalsverifier.Warning;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.libreccm.categorization.Category;
|
import org.libreccm.categorization.Category;
|
||||||
import org.libreccm.categorization.Domain;
|
|
||||||
import org.libreccm.security.Group;
|
import org.libreccm.security.Group;
|
||||||
import org.libreccm.security.Role;
|
import org.libreccm.security.Role;
|
||||||
import org.libreccm.security.User;
|
import org.libreccm.security.User;
|
||||||
|
|
|
||||||
|
|
@ -20,9 +20,13 @@ package org.libreccm.messaging;
|
||||||
|
|
||||||
import nl.jqno.equalsverifier.Warning;
|
import nl.jqno.equalsverifier.Warning;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.experimental.categories.Category;
|
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.junit.runners.Parameterized;
|
import org.junit.runners.Parameterized;
|
||||||
|
import org.libreccm.categorization.Category;
|
||||||
|
import org.libreccm.core.CcmObject;
|
||||||
|
import org.libreccm.security.Group;
|
||||||
|
import org.libreccm.security.Role;
|
||||||
|
import org.libreccm.security.User;
|
||||||
import org.libreccm.tests.categories.UnitTest;
|
import org.libreccm.tests.categories.UnitTest;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
@ -33,7 +37,7 @@ import java.util.Collection;
|
||||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
*/
|
*/
|
||||||
@RunWith(Parameterized.class)
|
@RunWith(Parameterized.class)
|
||||||
@Category(UnitTest.class)
|
@org.junit.experimental.categories.Category(UnitTest.class)
|
||||||
public class EqualsAndHashCodeTest {
|
public class EqualsAndHashCodeTest {
|
||||||
|
|
||||||
private final Class<?> entityClass;
|
private final Class<?> entityClass;
|
||||||
|
|
@ -59,13 +63,72 @@ public class EqualsAndHashCodeTest {
|
||||||
final Message message2 = new Message();
|
final Message message2 = new Message();
|
||||||
message2.setSubject("Message Two");
|
message2.setSubject("Message Two");
|
||||||
|
|
||||||
|
final Group group1 = new Group();
|
||||||
|
group1.setName("group1");
|
||||||
|
|
||||||
|
final Group group2 = new Group();
|
||||||
|
group2.setName("group2");
|
||||||
|
|
||||||
|
final MessageThread thread1 = new MessageThread();
|
||||||
|
thread1.setDisplayName("thread1");
|
||||||
|
|
||||||
|
final MessageThread thread2 = new MessageThread();
|
||||||
|
thread2.setDisplayName("thread2");
|
||||||
|
|
||||||
|
final CcmObject ccmObject1 = new CcmObject();
|
||||||
|
ccmObject1.setObjectId(-100);
|
||||||
|
ccmObject1.setDisplayName("Object 1");
|
||||||
|
|
||||||
|
final CcmObject ccmObject2 = new CcmObject();
|
||||||
|
ccmObject1.setObjectId(-200);
|
||||||
|
ccmObject1.setDisplayName("Object 2");
|
||||||
|
|
||||||
|
final User user1 = new TestUser();
|
||||||
|
user1.setName("user1");
|
||||||
|
|
||||||
|
final User user2 = new TestUser();
|
||||||
|
user2.setName("user2");
|
||||||
|
|
||||||
|
final Role role1 = new Role();
|
||||||
|
role1.setName("role1");
|
||||||
|
|
||||||
|
final Role role2 = new Role();
|
||||||
|
role2.setName("role2");
|
||||||
|
|
||||||
|
final Category category1 = new Category();
|
||||||
|
category1.setName("Category One");
|
||||||
|
|
||||||
|
final Category category2 = new Category();
|
||||||
|
category2.setName("Category Two");
|
||||||
|
|
||||||
nl.jqno.equalsverifier.EqualsVerifier
|
nl.jqno.equalsverifier.EqualsVerifier
|
||||||
.forClass(entityClass)
|
.forClass(entityClass)
|
||||||
.suppress(Warning.STRICT_INHERITANCE)
|
.suppress(Warning.STRICT_INHERITANCE)
|
||||||
.suppress(Warning.NONFINAL_FIELDS)
|
.suppress(Warning.NONFINAL_FIELDS)
|
||||||
|
.suppress(Warning.ALL_FIELDS_SHOULD_BE_USED)
|
||||||
.withRedefinedSuperclass()
|
.withRedefinedSuperclass()
|
||||||
.withPrefabValues(Message.class, message1, message2)
|
.withPrefabValues(Message.class, message1, message2)
|
||||||
|
.withPrefabValues(Group.class, group1, group2)
|
||||||
|
.withPrefabValues(MessageThread.class, thread1, thread2)
|
||||||
|
.withPrefabValues(CcmObject.class, ccmObject1, ccmObject2)
|
||||||
|
.withPrefabValues(User.class, user1, user2)
|
||||||
|
.withPrefabValues(Role.class, role1, role2)
|
||||||
|
.withPrefabValues(Category.class, category1, category2)
|
||||||
.verify();
|
.verify();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@link User} has a protected constructor, so have have do this to create
|
||||||
|
* users for the test...
|
||||||
|
*/
|
||||||
|
private class TestUser extends User {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = -9052762220990453621L;
|
||||||
|
|
||||||
|
protected TestUser() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,10 +21,14 @@ package org.libreccm.notification;
|
||||||
import nl.jqno.equalsverifier.EqualsVerifier;
|
import nl.jqno.equalsverifier.EqualsVerifier;
|
||||||
import nl.jqno.equalsverifier.Warning;
|
import nl.jqno.equalsverifier.Warning;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.experimental.categories.Category;
|
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.junit.runners.Parameterized;
|
import org.junit.runners.Parameterized;
|
||||||
|
import org.libreccm.categorization.Category;
|
||||||
|
import org.libreccm.core.CcmObject;
|
||||||
import org.libreccm.messaging.Message;
|
import org.libreccm.messaging.Message;
|
||||||
|
import org.libreccm.security.Party;
|
||||||
|
import org.libreccm.security.Role;
|
||||||
|
import org.libreccm.security.User;
|
||||||
import org.libreccm.tests.categories.UnitTest;
|
import org.libreccm.tests.categories.UnitTest;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
@ -35,7 +39,7 @@ import java.util.Collection;
|
||||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
*/
|
*/
|
||||||
@RunWith(Parameterized.class)
|
@RunWith(Parameterized.class)
|
||||||
@Category(UnitTest.class)
|
@org.junit.experimental.categories.Category(UnitTest.class)
|
||||||
public class EqualsAndHashCodeTest {
|
public class EqualsAndHashCodeTest {
|
||||||
|
|
||||||
private final Class<?> entityClass;
|
private final Class<?> entityClass;
|
||||||
|
|
@ -61,13 +65,86 @@ public class EqualsAndHashCodeTest {
|
||||||
final Message message2 = new Message();
|
final Message message2 = new Message();
|
||||||
message2.setSubject("Message Two");
|
message2.setSubject("Message Two");
|
||||||
|
|
||||||
|
final Role role1 = new Role();
|
||||||
|
role1.setName("role1");
|
||||||
|
|
||||||
|
final Role role2 = new Role();
|
||||||
|
role2.setName("role2");
|
||||||
|
|
||||||
|
final Digest digest1 = new Digest();
|
||||||
|
digest1.setDisplayName("digest1");
|
||||||
|
|
||||||
|
final Digest digest2 = new Digest();
|
||||||
|
digest2.setDisplayName("digest2");
|
||||||
|
|
||||||
|
final Party party1 = new TestParty();
|
||||||
|
party1.setName("party1");
|
||||||
|
|
||||||
|
final Party party2 = new TestParty();
|
||||||
|
party2.setName("party2");
|
||||||
|
|
||||||
|
final CcmObject ccmObject1 = new CcmObject();
|
||||||
|
ccmObject1.setObjectId(-100);
|
||||||
|
ccmObject1.setDisplayName("Object 1");
|
||||||
|
|
||||||
|
final CcmObject ccmObject2 = new CcmObject();
|
||||||
|
ccmObject1.setObjectId(-200);
|
||||||
|
ccmObject1.setDisplayName("Object 2");
|
||||||
|
|
||||||
|
final User user1 = new TestUser();
|
||||||
|
user1.setName("user1");
|
||||||
|
|
||||||
|
final User user2 = new TestUser();
|
||||||
|
user2.setName("user2");
|
||||||
|
|
||||||
|
final Category category1 = new Category();
|
||||||
|
category1.setName("Category One");
|
||||||
|
|
||||||
|
final Category category2 = new Category();
|
||||||
|
category2.setName("Category Two");
|
||||||
|
|
||||||
EqualsVerifier
|
EqualsVerifier
|
||||||
.forClass(entityClass)
|
.forClass(entityClass)
|
||||||
.suppress(Warning.STRICT_INHERITANCE)
|
.suppress(Warning.STRICT_INHERITANCE)
|
||||||
.suppress(Warning.NONFINAL_FIELDS)
|
.suppress(Warning.NONFINAL_FIELDS)
|
||||||
|
.suppress(Warning.ALL_FIELDS_SHOULD_BE_USED)
|
||||||
.withRedefinedSuperclass()
|
.withRedefinedSuperclass()
|
||||||
.withPrefabValues(Message.class, message1, message2)
|
.withPrefabValues(Message.class, message1, message2)
|
||||||
|
.withPrefabValues(Role.class, role1, role2)
|
||||||
|
.withPrefabValues(Digest.class, digest1, digest2)
|
||||||
|
.withPrefabValues(Party.class, party1, party2)
|
||||||
|
.withPrefabValues(CcmObject.class, ccmObject1, ccmObject2)
|
||||||
|
.withPrefabValues(User.class, user1, user2)
|
||||||
|
.withPrefabValues(Category.class, category1, category2)
|
||||||
.verify();
|
.verify();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@link Party} has a protected constructor, so have have do this to create
|
||||||
|
* users for the test...
|
||||||
|
*/
|
||||||
|
private class TestParty extends Party {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 2021200151554200503L;
|
||||||
|
|
||||||
|
protected TestParty() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@link User} has a protected constructor, so have have do this to create
|
||||||
|
* users for the test...
|
||||||
|
*/
|
||||||
|
private class TestUser extends User {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = -9052762220990453621L;
|
||||||
|
|
||||||
|
protected TestUser() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,10 +21,13 @@ package org.libreccm.portal;
|
||||||
import nl.jqno.equalsverifier.EqualsVerifier;
|
import nl.jqno.equalsverifier.EqualsVerifier;
|
||||||
import nl.jqno.equalsverifier.Warning;
|
import nl.jqno.equalsverifier.Warning;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.experimental.categories.Category;
|
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.junit.runners.Parameterized;
|
import org.junit.runners.Parameterized;
|
||||||
|
import org.libreccm.categorization.Category;
|
||||||
|
import org.libreccm.core.CcmObject;
|
||||||
import org.libreccm.core.Resource;
|
import org.libreccm.core.Resource;
|
||||||
|
import org.libreccm.security.Role;
|
||||||
|
import org.libreccm.security.User;
|
||||||
import org.libreccm.tests.categories.UnitTest;
|
import org.libreccm.tests.categories.UnitTest;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
@ -35,7 +38,7 @@ import java.util.Collection;
|
||||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
*/
|
*/
|
||||||
@RunWith(Parameterized.class)
|
@RunWith(Parameterized.class)
|
||||||
@Category(UnitTest.class)
|
@org.junit.experimental.categories.Category(UnitTest.class)
|
||||||
public class EqualsAndHashCodeTest {
|
public class EqualsAndHashCodeTest {
|
||||||
|
|
||||||
private final Class<?> entityClass;
|
private final Class<?> entityClass;
|
||||||
|
|
@ -66,14 +69,59 @@ public class EqualsAndHashCodeTest {
|
||||||
final Resource resource2 = new Resource();
|
final Resource resource2 = new Resource();
|
||||||
resource2.setDisplayName("Resource Two");
|
resource2.setDisplayName("Resource Two");
|
||||||
|
|
||||||
|
final CcmObject ccmObject1 = new CcmObject();
|
||||||
|
ccmObject1.setObjectId(-100);
|
||||||
|
ccmObject1.setDisplayName("Object 1");
|
||||||
|
|
||||||
|
final CcmObject ccmObject2 = new CcmObject();
|
||||||
|
ccmObject1.setObjectId(-200);
|
||||||
|
ccmObject1.setDisplayName("Object 2");
|
||||||
|
|
||||||
|
final Role role1 = new Role();
|
||||||
|
role1.setName("role1");
|
||||||
|
|
||||||
|
final Role role2 = new Role();
|
||||||
|
role2.setName("role2");
|
||||||
|
|
||||||
|
final User user1 = new TestUser();
|
||||||
|
user1.setName("user1");
|
||||||
|
|
||||||
|
final User user2 = new TestUser();
|
||||||
|
user2.setName("user2");
|
||||||
|
|
||||||
|
final Category category1 = new Category();
|
||||||
|
category1.setName("Category One");
|
||||||
|
|
||||||
|
final Category category2 = new Category();
|
||||||
|
category2.setName("Category Two");
|
||||||
|
|
||||||
EqualsVerifier
|
EqualsVerifier
|
||||||
.forClass(entityClass)
|
.forClass(entityClass)
|
||||||
.suppress(Warning.STRICT_INHERITANCE)
|
.suppress(Warning.STRICT_INHERITANCE)
|
||||||
.suppress(Warning.NONFINAL_FIELDS)
|
.suppress(Warning.NONFINAL_FIELDS)
|
||||||
|
.suppress(Warning.ALL_FIELDS_SHOULD_BE_USED)
|
||||||
.withRedefinedSuperclass()
|
.withRedefinedSuperclass()
|
||||||
.withPrefabValues(Portal.class, portal1, portal2)
|
.withPrefabValues(Portal.class, portal1, portal2)
|
||||||
.withPrefabValues(Resource.class, resource1, resource2)
|
.withPrefabValues(Resource.class, resource1, resource2)
|
||||||
|
.withPrefabValues(CcmObject.class, ccmObject1, ccmObject2)
|
||||||
|
.withPrefabValues(Role.class, role1, role2)
|
||||||
|
.withPrefabValues(User.class, user1, user2)
|
||||||
|
.withPrefabValues(Category.class, category1, category2)
|
||||||
.verify();
|
.verify();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@link User} has a protected constructor, so have have do this to create
|
||||||
|
* users for the test...
|
||||||
|
*/
|
||||||
|
private class TestUser extends User {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = -9052762220990453621L;
|
||||||
|
|
||||||
|
protected TestUser() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,6 +62,7 @@ public class EqualsAndHashCodeTest {
|
||||||
.forClass(entityClass)
|
.forClass(entityClass)
|
||||||
.suppress(Warning.STRICT_INHERITANCE)
|
.suppress(Warning.STRICT_INHERITANCE)
|
||||||
.suppress(Warning.NONFINAL_FIELDS)
|
.suppress(Warning.NONFINAL_FIELDS)
|
||||||
|
.suppress(Warning.ALL_FIELDS_SHOULD_BE_USED)
|
||||||
.withRedefinedSuperclass()
|
.withRedefinedSuperclass()
|
||||||
.withPrefabValues(Initalizer.class, initalizer1, initalizer2)
|
.withPrefabValues(Initalizer.class, initalizer1, initalizer2)
|
||||||
.verify();
|
.verify();
|
||||||
|
|
|
||||||
|
|
@ -18,11 +18,13 @@
|
||||||
*/
|
*/
|
||||||
package org.libreccm.search.lucene;
|
package org.libreccm.search.lucene;
|
||||||
|
|
||||||
import org.junit.experimental.categories.Category;
|
import nl.jqno.equalsverifier.Warning;
|
||||||
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.junit.runners.Parameterized;
|
import org.junit.runners.Parameterized;
|
||||||
|
import org.libreccm.security.Group;
|
||||||
|
import org.libreccm.security.User;
|
||||||
import org.libreccm.tests.categories.UnitTest;
|
import org.libreccm.tests.categories.UnitTest;
|
||||||
import org.libreccm.testutils.EqualsVerifier;
|
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
@ -32,8 +34,10 @@ import java.util.Collection;
|
||||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
*/
|
*/
|
||||||
@RunWith(Parameterized.class)
|
@RunWith(Parameterized.class)
|
||||||
@Category(UnitTest.class)
|
@org.junit.experimental.categories.Category(UnitTest.class)
|
||||||
public class EqualsAndHashCodeTest extends EqualsVerifier {
|
public class EqualsAndHashCodeTest {
|
||||||
|
|
||||||
|
private final Class<?> entityClass;
|
||||||
|
|
||||||
@Parameterized.Parameters(name = "{0}")
|
@Parameterized.Parameters(name = "{0}")
|
||||||
public static Collection<Class<?>> data() {
|
public static Collection<Class<?>> data() {
|
||||||
|
|
@ -44,7 +48,52 @@ public class EqualsAndHashCodeTest extends EqualsVerifier {
|
||||||
}
|
}
|
||||||
|
|
||||||
public EqualsAndHashCodeTest(final Class<?> entityClass) {
|
public EqualsAndHashCodeTest(final Class<?> entityClass) {
|
||||||
super(entityClass);
|
this.entityClass = entityClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void verifyEqualsAndHashCode() {
|
||||||
|
final Document document1 = new Document();
|
||||||
|
document1.setTitle("document1");
|
||||||
|
|
||||||
|
final Document document2 = new Document();
|
||||||
|
document2.setTitle("document2");
|
||||||
|
|
||||||
|
final Group group1 = new Group();
|
||||||
|
group1.setName("group1");
|
||||||
|
|
||||||
|
final Group group2 = new Group();
|
||||||
|
group2.setName("group2");
|
||||||
|
|
||||||
|
final User user1 = new TestUser();
|
||||||
|
user1.setName("user1");
|
||||||
|
|
||||||
|
final User user2 = new TestUser();
|
||||||
|
user2.setName("user2");
|
||||||
|
|
||||||
|
nl.jqno.equalsverifier.EqualsVerifier
|
||||||
|
.forClass(entityClass)
|
||||||
|
.suppress(Warning.STRICT_INHERITANCE)
|
||||||
|
.suppress(Warning.NONFINAL_FIELDS)
|
||||||
|
.suppress(Warning.ALL_FIELDS_SHOULD_BE_USED)
|
||||||
|
.withPrefabValues(Group.class, group1, group2)
|
||||||
|
.withPrefabValues(Document.class, document1, document2)
|
||||||
|
.withPrefabValues(User.class, user1, user2)
|
||||||
|
.verify();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@link User} has a protected constructor, so have have do this to create
|
||||||
|
* users for the test...
|
||||||
|
*/
|
||||||
|
private class TestUser extends User {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = -9052762220990453621L;
|
||||||
|
|
||||||
|
protected TestUser() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,11 +18,12 @@
|
||||||
*/
|
*/
|
||||||
package org.libreccm.security;
|
package org.libreccm.security;
|
||||||
|
|
||||||
import org.junit.experimental.categories.Category;
|
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.junit.runners.Parameterized;
|
import org.junit.runners.Parameterized;
|
||||||
|
import org.libreccm.core.CcmObject;
|
||||||
import org.libreccm.tests.categories.UnitTest;
|
import org.libreccm.tests.categories.UnitTest;
|
||||||
import org.libreccm.testutils.EqualsVerifier;
|
import org.libreccm.testutils.EqualsVerifier;
|
||||||
|
import org.libreccm.workflow.UserTask;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
@ -32,12 +33,12 @@ import java.util.Collection;
|
||||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
*/
|
*/
|
||||||
@RunWith(Parameterized.class)
|
@RunWith(Parameterized.class)
|
||||||
@Category(UnitTest.class)
|
@org.junit.experimental.categories.Category(UnitTest.class)
|
||||||
public class EqualsAndHashCodeTest extends EqualsVerifier {
|
public class EqualsAndHashCodeTest extends EqualsVerifier {
|
||||||
|
|
||||||
@Parameterized.Parameters(name = "{0}")
|
@Parameterized.Parameters(name = "{0}")
|
||||||
public static Collection<Class<?>> data() {
|
public static Collection<Class<?>> data() {
|
||||||
return Arrays.asList(new Class<?>[] {
|
return Arrays.asList(new Class<?>[]{
|
||||||
Group.class,
|
Group.class,
|
||||||
GroupMembership.class,
|
GroupMembership.class,
|
||||||
Party.class,
|
Party.class,
|
||||||
|
|
@ -52,4 +53,55 @@ public class EqualsAndHashCodeTest extends EqualsVerifier {
|
||||||
public EqualsAndHashCodeTest(final Class<?> entityClass) {
|
public EqualsAndHashCodeTest(final Class<?> entityClass) {
|
||||||
super(entityClass);
|
super(entityClass);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void addPrefabValues(
|
||||||
|
final nl.jqno.equalsverifier.EqualsVerifier<?> verifier) {
|
||||||
|
final Group group1 = new Group();
|
||||||
|
group1.setName("group1");
|
||||||
|
|
||||||
|
final Group group2 = new Group();
|
||||||
|
group2.setName("group2");
|
||||||
|
|
||||||
|
final User user1 = new User();
|
||||||
|
user1.setName("user1");
|
||||||
|
|
||||||
|
final User user2 = new User();
|
||||||
|
user2.setName("user2");
|
||||||
|
|
||||||
|
final Role role1 = new Role();
|
||||||
|
role1.setName("role1");
|
||||||
|
|
||||||
|
final Role role2 = new Role();
|
||||||
|
role2.setName("role2");
|
||||||
|
|
||||||
|
final Party party1 = new Party();
|
||||||
|
party1.setName("party1");
|
||||||
|
|
||||||
|
final Party party2 = new Party();
|
||||||
|
party2.setName("party2");
|
||||||
|
|
||||||
|
final CcmObject ccmObject1 = new CcmObject();
|
||||||
|
ccmObject1.setObjectId(-100);
|
||||||
|
ccmObject1.setDisplayName("Object 1");
|
||||||
|
|
||||||
|
final CcmObject ccmObject2 = new CcmObject();
|
||||||
|
ccmObject1.setObjectId(-200);
|
||||||
|
ccmObject1.setDisplayName("Object 2");
|
||||||
|
|
||||||
|
final UserTask task1 = new UserTask();
|
||||||
|
task1.setTaskId(-10);
|
||||||
|
|
||||||
|
final UserTask task2 = new UserTask();
|
||||||
|
task2.setTaskId(-20);
|
||||||
|
|
||||||
|
verifier
|
||||||
|
.withPrefabValues(Group.class, group1, group2)
|
||||||
|
.withPrefabValues(User.class, user1, user2)
|
||||||
|
.withPrefabValues(Role.class, role1, role2)
|
||||||
|
.withPrefabValues(Party.class, party1, party2)
|
||||||
|
.withPrefabValues(CcmObject.class, ccmObject1, ccmObject2)
|
||||||
|
.withPrefabValues(UserTask.class, task1, task2);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -75,14 +75,57 @@ public class EqualsVerifier {
|
||||||
this.entityClass = entityClass;
|
this.entityClass = entityClass;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Overwrite this methods to suppress warnings from the
|
||||||
|
* {@link nl.jqno.equalsverifier.EqualsVerifier}. Per default the following
|
||||||
|
* warnings are suppressed:
|
||||||
|
*
|
||||||
|
* <ul>
|
||||||
|
* <li>{@code Warning.Warning.STRICT_INHERITANCE}</li>
|
||||||
|
* <li>{@code Warning.NONFINAL_FIELDS}</li>
|
||||||
|
* <li>{@code Warning.ALL_FIELDS_SHOULD_BE_USED}</li>
|
||||||
|
* </ul>
|
||||||
|
*
|
||||||
|
* @param verifier The verifier to which the suppression are added.
|
||||||
|
*/
|
||||||
|
protected void addSuppressWarnings(
|
||||||
|
final nl.jqno.equalsverifier.EqualsVerifier<?> verifier) {
|
||||||
|
|
||||||
|
verifier
|
||||||
|
.suppress(Warning.STRICT_INHERITANCE)
|
||||||
|
.suppress(Warning.NONFINAL_FIELDS)
|
||||||
|
.suppress(Warning.ALL_FIELDS_SHOULD_BE_USED);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Use this method to add prefab values to the verifier.
|
||||||
|
*
|
||||||
|
* @param verifier The verifier to which the prefab values are added.
|
||||||
|
*/
|
||||||
|
protected void addPrefabValues(
|
||||||
|
final nl.jqno.equalsverifier.EqualsVerifier<?> verifier) {
|
||||||
|
//Nothing here
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void verifyEqualsAndHashCode() {
|
public void verifyEqualsAndHashCode() {
|
||||||
nl.jqno.equalsverifier.EqualsVerifier
|
nl.jqno.equalsverifier.EqualsVerifier<?> verifier
|
||||||
.forClass(entityClass)
|
= nl.jqno.equalsverifier.EqualsVerifier
|
||||||
.suppress(Warning.STRICT_INHERITANCE)
|
.forClass(entityClass)
|
||||||
.suppress(Warning.NONFINAL_FIELDS)
|
.withRedefinedSuperclass();
|
||||||
.suppress(Warning.ALL_FIELDS_SHOULD_BE_USED)
|
|
||||||
.withRedefinedSuperclass()
|
addSuppressWarnings(verifier);
|
||||||
.verify();
|
addPrefabValues(verifier);
|
||||||
|
|
||||||
|
verifier.verify();
|
||||||
|
|
||||||
|
// nl.jqno.equalsverifier.EqualsVerifier
|
||||||
|
// .forClass(entityClass)
|
||||||
|
// .suppress(Warning.STRICT_INHERITANCE)
|
||||||
|
// .suppress(Warning.NONFINAL_FIELDS)
|
||||||
|
// .suppress(Warning.ALL_FIELDS_SHOULD_BE_USED)
|
||||||
|
// .withRedefinedSuperclass()
|
||||||
|
// .verify();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue