package com.limegroup.gnutella.downloader;
import java.util.HashMap;
import junit.framework.Test;
import com.limegroup.gnutella.GUID;
public class MiniRemoteFileDescTest extends com.limegroup.gnutella.util.BaseTestCase {
public MiniRemoteFileDescTest(String name) {
super(name);
}
public static Test suite() {
return buildTestSuite(MiniRemoteFileDescTest.class);
}
public void testLegacy() {
byte[] guid1 = GUID.makeGuid();
byte[] guid2 = GUID.makeGuid();
MiniRemoteFileDesc m1 = new MiniRemoteFileDesc("a.txt", 12, guid1);
MiniRemoteFileDesc m2 = new MiniRemoteFileDesc("b.txt", 13, guid2);
MiniRemoteFileDesc m3 = new MiniRemoteFileDesc("b.txt", 12, guid2);
assertTrue("different MFDs equal",!m1.equals(m2));
assertTrue("equals looking at index",m2.equals(m3));
assertTrue("hashcode broken",m2.hashCode()== m3.hashCode());
assertTrue("hashcode broken",m1.hashCode()!= m3.hashCode());
m3 = new MiniRemoteFileDesc("a.txt",12,guid1);
assertEquals("equals method broken",m1, m3);
assertEquals("equals method broken", m3, m1);
HashMap map = new HashMap();
Object o = new Object();
map.put(m1,o);
Object o1 = map.get(m3);
assertSame("equals or hashcode broken",o1,o);
}
}