DATAJDBC-427 - IdOnlyAggregateReference no supports equality.
Original pull request: #172.
This commit is contained in:
committed by
Jens Schauder
parent
8d1578e42c
commit
f40c9e13c9
@@ -15,7 +15,9 @@
|
||||
*/
|
||||
package org.springframework.data.jdbc.core.mapping;
|
||||
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.ToString;
|
||||
|
||||
import org.springframework.lang.Nullable;
|
||||
|
||||
@@ -25,6 +27,7 @@ import org.springframework.lang.Nullable;
|
||||
* @param <T> the type of the referenced aggregate root.
|
||||
* @param <ID> the type of the id of the referenced aggregate root.
|
||||
* @author Jens Schauder
|
||||
* @author Myeonghyeon Lee
|
||||
* @since 1.0
|
||||
*/
|
||||
public interface AggregateReference<T, ID> {
|
||||
@@ -47,6 +50,8 @@ public interface AggregateReference<T, ID> {
|
||||
* @param <ID>
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@EqualsAndHashCode
|
||||
@ToString
|
||||
class IdOnlyAggregateReference<T, ID> implements AggregateReference<T, ID> {
|
||||
|
||||
private final ID id;
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
package org.springframework.data.jdbc.core.mapping;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.springframework.data.jdbc.core.mapping.AggregateReference.IdOnlyAggregateReference;
|
||||
|
||||
/**
|
||||
* Unit tests for the {@link IdOnlyAggregateReference}.
|
||||
*
|
||||
* @author Myeonghyeon Lee
|
||||
*/
|
||||
public class IdOnlyAggregateReferenceTest {
|
||||
@Test // DATAJDBC-427
|
||||
public void equals() {
|
||||
AggregateReference<DummyEntity, String> reference1 = AggregateReference.to("1");
|
||||
AggregateReference<DummyEntity, String> reference2 = AggregateReference.to("1");
|
||||
assertThat(reference1.equals(reference2)).isTrue();
|
||||
assertThat(reference2.equals(reference1)).isTrue();
|
||||
}
|
||||
|
||||
@Test // DATAJDBC-427
|
||||
public void equalsFalse() {
|
||||
AggregateReference<DummyEntity, String> reference1 = AggregateReference.to("1");
|
||||
AggregateReference<DummyEntity, String> reference2 = AggregateReference.to("2");
|
||||
assertThat(reference1.equals(reference2)).isFalse();
|
||||
assertThat(reference2.equals(reference1)).isFalse();
|
||||
}
|
||||
|
||||
@Test // DATAJDBC-427
|
||||
public void hashCodeTest() {
|
||||
AggregateReference<DummyEntity, String> reference1 = AggregateReference.to("1");
|
||||
AggregateReference<DummyEntity, String> reference2 = AggregateReference.to("1");
|
||||
assertThat(reference1.hashCode()).isEqualTo(reference2.hashCode());
|
||||
}
|
||||
|
||||
private static class DummyEntity {
|
||||
private String id;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user