I'm getting the following error and I have not been able to find the cause. I don't see anything that could cause a ClassCastException. This error occurs when using EqualsVerifier 1.1.3 and 1.2. I can make the error "go away" buy suppressing null warnings, but that doesn't seem like a solution.Thanks for any help,Nathan-----------------------------------------------------------------------------------java.lang.AssertionError: toString throws ClassCastException when field id is null.at nl.jqno.equalsverifier.util.Assert.fail(Assert.java:80)at nl.jqno.equalsverifier.NullChecker$NullPointerExceptionFieldCheck.exceptionThrown(NullChecker.java:111)at nl.jqno.equalsverifier.NullChecker$NullPointerExceptionFieldCheck.handle(NullChecker.java:102)at nl.jqno.equalsverifier.NullChecker$NullPointerExceptionFieldCheck.execute(NullChecker.java:84)at nl.jqno.equalsverifier.FieldInspector.check(FieldInspector.java:37)at nl.jqno.equalsverifier.NullChecker.check(NullChecker.java:45)at nl.jqno.equalsverifier.EqualsVerifier.verifyWithoutExamples(EqualsVerifier.java:374)at nl.jqno.equalsverifier.EqualsVerifier.performVerification(EqualsVerifier.java:362)at nl.jqno.equalsverifier.EqualsVerifier.verify(EqualsVerifier.java:334)at com.sumware.hynts.model.ModelTests.testCustomer(ModelTests.java:19)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:601)at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)at org.junit.runners.ParentRunner.run(ParentRunner.java:309)at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)-----------------------------------------------------------------------------------Here is the relevant portions of my Customer object:@Overridepublic int hashCode() {final int prime = 31;int result = 1;result = prime * result + ((customerNumber == null) ? 0 : customerNumber.hashCode());return result;}@Overridepublic boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (getClass() != obj.getClass())return false;Customer other = (Customer) obj;if (customerNumber == null) {if (other.customerNumber != null)return false;} else if (!customerNumber.equals(other.customerNumber))return false;return true;}@Overridepublic String toString() {String toString = "Customer [id=" + (id == null ? "null" : id.toString()) + ", createdTimestamp=" + createdTimestamp+ ", customerNumber=" + customerNumber + ", lastName=" + lastName + ", firstName=" + firstName + ", emailContact="+ (emailContact == null ? "null" : emailContact.getEmailAddress()) + ", phoneContacts=" + toString(phoneContacts)+ "]";System.out.println(toString);return toString;}private String toString(Map<PhoneType, PhoneContact> phoneContacts) {StringBuilder builder = new StringBuilder();if (phoneContacts != null) {builder.append("[");for (Entry<PhoneType, PhoneContact> entry : phoneContacts.entrySet()) {if (builder.length() > 1) {builder.append(", ");}builder.append(entry.getKey()).append("=");if (entry.getValue() != null) {builder.append(entry.getValue().getPhoneNumber());if (!Strings.isNullOrEmpty(entry.getValue().getPhoneExtention())) {builder.append("x").append(entry.getValue().getPhoneExtention());}}}builder.append("]");}return builder.toString();}-----------------------------------------------------------------------------------
Here is my test:--@Testpublic void testCustomer() throws Exception {EqualsVerifier.forClass(Customer.class).usingGetClass().withPrefabValues( EmailContact.class,new EmailContact("te...@test.com"),new EmailContact("te...@test.com")).debug().verify();}
You received this message because you are subscribed to the Google Groups "equalsverifier" group.
To unsubscribe from this group and stop receiving emails from it, send an email to equalsverifie...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.