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.Collection;
|
||||
|
||||
import nl.jqno.equalsverifier.EqualsVerifier;
|
||||
import nl.jqno.equalsverifier.Warning;
|
||||
import org.junit.Test;
|
||||
import org.libreccm.categorization.Category;
|
||||
import org.libreccm.categorization.Domain;
|
||||
import org.libreccm.security.Group;
|
||||
import org.libreccm.security.Role;
|
||||
import org.libreccm.security.User;
|
||||
|
|
|
|||
|
|
@ -20,9 +20,13 @@ package org.libreccm.messaging;
|
|||
|
||||
import nl.jqno.equalsverifier.Warning;
|
||||
import org.junit.Test;
|
||||
import org.junit.experimental.categories.Category;
|
||||
import org.junit.runner.RunWith;
|
||||
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 java.util.Arrays;
|
||||
|
|
@ -33,7 +37,7 @@ import java.util.Collection;
|
|||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
@RunWith(Parameterized.class)
|
||||
@Category(UnitTest.class)
|
||||
@org.junit.experimental.categories.Category(UnitTest.class)
|
||||
public class EqualsAndHashCodeTest {
|
||||
|
||||
private final Class<?> entityClass;
|
||||
|
|
@ -59,13 +63,72 @@ public class EqualsAndHashCodeTest {
|
|||
final Message message2 = new Message();
|
||||
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
|
||||
.forClass(entityClass)
|
||||
.suppress(Warning.STRICT_INHERITANCE)
|
||||
.suppress(Warning.NONFINAL_FIELDS)
|
||||
.suppress(Warning.ALL_FIELDS_SHOULD_BE_USED)
|
||||
.withRedefinedSuperclass()
|
||||
.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();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@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.Warning;
|
||||
import org.junit.Test;
|
||||
import org.junit.experimental.categories.Category;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Parameterized;
|
||||
import org.libreccm.categorization.Category;
|
||||
import org.libreccm.core.CcmObject;
|
||||
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 java.util.Arrays;
|
||||
|
|
@ -35,7 +39,7 @@ import java.util.Collection;
|
|||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
@RunWith(Parameterized.class)
|
||||
@Category(UnitTest.class)
|
||||
@org.junit.experimental.categories.Category(UnitTest.class)
|
||||
public class EqualsAndHashCodeTest {
|
||||
|
||||
private final Class<?> entityClass;
|
||||
|
|
@ -61,13 +65,86 @@ public class EqualsAndHashCodeTest {
|
|||
final Message message2 = new Message();
|
||||
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
|
||||
.forClass(entityClass)
|
||||
.suppress(Warning.STRICT_INHERITANCE)
|
||||
.suppress(Warning.NONFINAL_FIELDS)
|
||||
.suppress(Warning.ALL_FIELDS_SHOULD_BE_USED)
|
||||
.withRedefinedSuperclass()
|
||||
.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();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@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.Warning;
|
||||
import org.junit.Test;
|
||||
import org.junit.experimental.categories.Category;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Parameterized;
|
||||
import org.libreccm.categorization.Category;
|
||||
import org.libreccm.core.CcmObject;
|
||||
import org.libreccm.core.Resource;
|
||||
import org.libreccm.security.Role;
|
||||
import org.libreccm.security.User;
|
||||
import org.libreccm.tests.categories.UnitTest;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
|
@ -35,7 +38,7 @@ import java.util.Collection;
|
|||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
@RunWith(Parameterized.class)
|
||||
@Category(UnitTest.class)
|
||||
@org.junit.experimental.categories.Category(UnitTest.class)
|
||||
public class EqualsAndHashCodeTest {
|
||||
|
||||
private final Class<?> entityClass;
|
||||
|
|
@ -66,14 +69,59 @@ public class EqualsAndHashCodeTest {
|
|||
final Resource resource2 = new Resource();
|
||||
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
|
||||
.forClass(entityClass)
|
||||
.suppress(Warning.STRICT_INHERITANCE)
|
||||
.suppress(Warning.NONFINAL_FIELDS)
|
||||
.suppress(Warning.ALL_FIELDS_SHOULD_BE_USED)
|
||||
.withRedefinedSuperclass()
|
||||
.withPrefabValues(Portal.class, portal1, portal2)
|
||||
.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();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@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)
|
||||
.suppress(Warning.STRICT_INHERITANCE)
|
||||
.suppress(Warning.NONFINAL_FIELDS)
|
||||
.suppress(Warning.ALL_FIELDS_SHOULD_BE_USED)
|
||||
.withRedefinedSuperclass()
|
||||
.withPrefabValues(Initalizer.class, initalizer1, initalizer2)
|
||||
.verify();
|
||||
|
|
|
|||
|
|
@ -18,11 +18,13 @@
|
|||
*/
|
||||
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.runners.Parameterized;
|
||||
import org.libreccm.security.Group;
|
||||
import org.libreccm.security.User;
|
||||
import org.libreccm.tests.categories.UnitTest;
|
||||
import org.libreccm.testutils.EqualsVerifier;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
|
|
@ -32,8 +34,10 @@ import java.util.Collection;
|
|||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
@RunWith(Parameterized.class)
|
||||
@Category(UnitTest.class)
|
||||
public class EqualsAndHashCodeTest extends EqualsVerifier {
|
||||
@org.junit.experimental.categories.Category(UnitTest.class)
|
||||
public class EqualsAndHashCodeTest {
|
||||
|
||||
private final Class<?> entityClass;
|
||||
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
public static Collection<Class<?>> data() {
|
||||
|
|
@ -44,7 +48,52 @@ public class EqualsAndHashCodeTest extends EqualsVerifier {
|
|||
}
|
||||
|
||||
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;
|
||||
|
||||
import org.junit.experimental.categories.Category;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Parameterized;
|
||||
import org.libreccm.core.CcmObject;
|
||||
import org.libreccm.tests.categories.UnitTest;
|
||||
import org.libreccm.testutils.EqualsVerifier;
|
||||
import org.libreccm.workflow.UserTask;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
|
|
@ -32,7 +33,7 @@ import java.util.Collection;
|
|||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
@RunWith(Parameterized.class)
|
||||
@Category(UnitTest.class)
|
||||
@org.junit.experimental.categories.Category(UnitTest.class)
|
||||
public class EqualsAndHashCodeTest extends EqualsVerifier {
|
||||
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
|
|
@ -52,4 +53,55 @@ public class EqualsAndHashCodeTest extends EqualsVerifier {
|
|||
public EqualsAndHashCodeTest(final Class<?> 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;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void verifyEqualsAndHashCode() {
|
||||
nl.jqno.equalsverifier.EqualsVerifier
|
||||
.forClass(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)
|
||||
.withRedefinedSuperclass()
|
||||
.verify();
|
||||
.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
|
||||
public void verifyEqualsAndHashCode() {
|
||||
nl.jqno.equalsverifier.EqualsVerifier<?> verifier
|
||||
= nl.jqno.equalsverifier.EqualsVerifier
|
||||
.forClass(entityClass)
|
||||
.withRedefinedSuperclass();
|
||||
|
||||
addSuppressWarnings(verifier);
|
||||
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