/*
* Hibernate OGM, Domain model persistence for NoSQL datastores
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.ogm.test.options;
import org.fest.assertions.Assertions;
import org.hibernate.ogm.options.spi.UniqueOption;
import org.junit.Test;
/**
* @author Davide D'Alto <davide@hibernate.org>
*/
public class UniqueOptionTest {
private static class FirstOption extends UniqueOption {
}
private static class SecondOption extends UniqueOption {
}
@Test
public void testEqualsForDifferentUniqueOptions() throws Exception {
FirstOption option1 = new FirstOption();
SecondOption option2 = new SecondOption();
Assertions.assertThat( option1 ).isNotEqualTo( option2 );
}
@Test
public void testEqualsForTwoInstancesOfTheSameUniqueOption() throws Exception {
FirstOption option1 = new FirstOption();
FirstOption option2 = new FirstOption();
Assertions.assertThat( option1 ).isEqualTo( option2 );
}
@Test
public void testHashCodeForDifferentUniqueOptions() throws Exception {
FirstOption option1 = new FirstOption();
SecondOption option2 = new SecondOption();
Assertions.assertThat( option1.hashCode() ).isNotEqualTo( option2.hashCode() );
}
@Test
public void testHashCodeForTwoInstancesOfTheSameUniqueOption() throws Exception {
FirstOption option1 = new FirstOption();
FirstOption option2 = new FirstOption();
Assertions.assertThat( option1.hashCode() ).isEqualTo( option2.hashCode() );
}
}