Skip to content

Instantly share code, notes, and snippets.

@jqno
Created December 21, 2016 12:33
Show Gist options
  • Save jqno/fc0fba9df5e7723cc97a42b6c3f87ae5 to your computer and use it in GitHub Desktop.
Save jqno/fc0fba9df5e7723cc97a42b6c3f87ae5 to your computer and use it in GitHub Desktop.
package nl.jqno.equalsverifier;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.junit.Test;
public class ApacheDoubleTest {
static final class Doubler {
private final double d;
public Doubler(double d) { this.d = d; }
@Override
public boolean equals(Object obj) {
if (!(obj instanceof Doubler)) {
return false;
}
Doubler other = (Doubler)obj;
return new EqualsBuilder()
.append(d, other.d)
.isEquals();
}
@Override
public int hashCode() {
return new HashCodeBuilder()
.append(d)
.toHashCode();
}
}
@Test
public void apacheDouble() {
EqualsVerifier.forClass(Doubler.class)
.verify();
}
}
@phlebas
Copy link

phlebas commented Dec 21, 2016

`package com.intl.cigna.ecommerce.local.eis.domain.model;

import nl.jqno.equalsverifier.EqualsVerifier;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.junit.Test;

public class ApacheDoubleTest {

static final class Doubler {
    private final double d;

    private int someOtherField;
    public Doubler(double d) { this.d = d; }

    @Override
    public boolean equals(Object obj) {
        if (obj == this) {
            return true;
        }
        if (null == obj || (obj.getClass() != this.getClass())) {
            return false;
        }
        Doubler other = (Doubler)obj;
        return new EqualsBuilder()
                .append("someOtherField", other.someOtherField)
                .append(d, other.d)
                .isEquals();
    }

    @Override
    public int hashCode() {
        return new HashCodeBuilder()
                .append(d)
                .toHashCode();
    }
}

@Test
public void apacheDouble() {
    EqualsVerifier.forClass(Doubler.class).verify();
}

}`

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment