package org.junit.tests.description;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import org.junit.Test;
import org.junit.runner.Description;
public class SuiteDescriptionTest {
Description childless = Description.createSuiteDescription("a");
Description anotherChildless = Description.createSuiteDescription("a");
Description namedB = Description.createSuiteDescription("b");
Description twoKids = descriptionWithTwoKids("foo", "bar");
Description anotherTwoKids = descriptionWithTwoKids("foo", "baz");
@Test
public void equalsIsCorrect() {
assertEquals(childless, anotherChildless);
assertFalse(childless.equals(namedB));
assertEquals(childless, twoKids);
assertEquals(twoKids, anotherTwoKids);
assertFalse(twoKids.equals(new Integer(5)));
}
@Test
public void hashCodeIsReasonable() {
assertEquals(childless.hashCode(), anotherChildless.hashCode());
assertFalse(childless.hashCode() == namedB.hashCode());
}
private Description descriptionWithTwoKids(String first, String second) {
Description twoKids = Description.createSuiteDescription("a");
twoKids.addChild(Description.createTestDescription(getClass(), first));
twoKids.addChild(Description.createTestDescription(getClass(), second));
return twoKids;
}
}