package org.springframework.roo.addon.gwt.request;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
/**
* Unit test for {@link GwtRequestMetadata}
*
* @author Andrew Swan
* @since 1.2.0
*/
public class GwtRequestMetadataTest {
private static final String CONTENTS = "contents";
private static final String MID_1 = "MID:x#y";
private static final String MID_2 = "MID:x#z";
@Test
public void testInstanceDoesNotEqualInstanceOfOtherClass() {
// Set up
final GwtRequestMetadata instance = new GwtRequestMetadata(MID_1,
CONTENTS);
// Invoke and check
assertFalse(instance.equals(new Object()));
}
@Test
public void testInstanceDoesNotEqualNull() {
// Set up
final GwtRequestMetadata instance = new GwtRequestMetadata(MID_1,
CONTENTS);
// Invoke and check
assertFalse(instance.equals(null));
}
@Test
public void testInstanceEqualsItself() {
// Set up
final GwtRequestMetadata instance = new GwtRequestMetadata(MID_1,
CONTENTS);
// Invoke and check
assertEquals(instance, instance);
}
@Test
public void testInstancesWithDifferentContentsAreNotEqual() {
// Set up
final GwtRequestMetadata instance1 = new GwtRequestMetadata(MID_1,
CONTENTS);
final GwtRequestMetadata instance2 = new GwtRequestMetadata(MID_1,
CONTENTS + "x");
// Invoke and check
assertFalse(instance1.equals(instance2));
assertFalse(instance2.equals(instance1));
}
@Test
public void testInstancesWithDifferentContentsHaveDifferentHashCodes() {
// Set up
final GwtRequestMetadata instance1 = new GwtRequestMetadata(MID_1,
CONTENTS);
final GwtRequestMetadata instance2 = new GwtRequestMetadata(MID_1,
CONTENTS + "x");
// Invoke and check
assertTrue(instance1.hashCode() != instance2.hashCode());
}
@Test
public void testInstancesWithSameContentsAreEqual() {
// Set up
final GwtRequestMetadata instance1 = new GwtRequestMetadata(MID_1,
CONTENTS);
final GwtRequestMetadata instance2 = new GwtRequestMetadata(MID_2,
CONTENTS);
// Invoke and check
assertEquals(instance1, instance2);
assertEquals(instance2, instance1);
}
@Test
public void testInstancesWithSameContentsHaveSameHashCodes() {
// Set up
final GwtRequestMetadata instance1 = new GwtRequestMetadata(MID_1,
CONTENTS);
final GwtRequestMetadata instance2 = new GwtRequestMetadata(MID_2,
CONTENTS);
// Invoke and check
assertTrue(instance1.hashCode() == instance2.hashCode());
}
}