VersionNumber implements Comparable<VersionNumber>, ContentName.ComponentProvider { @Override public int hashCode() { return _version.hashCode(); } VersionNumber();  VersionNumber(CCNTime version);  VersionNumber(long msecSinceEpoch);  VersionNumber(ContentName versionedNamed);  VersionNumber(byte [] versionComponent);  VersionNumber(VersionNumber version1a); byte [] getVersionBytes(); CCNTime getAsTime(); long getAsMillis(); VersionNumber addAndReturn(long count); VersionNumber addMillisecondsAndreturn(long msec); int compareTo(VersionNumber other); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString(); String printAsVersionComponent(); static VersionNumber now(); static VersionNumber getMaximumVersion(); static VersionNumber getMinimumVersion(); boolean before(VersionNumber time); boolean after(VersionNumber time); boolean before(CCNTime time); boolean after(CCNTime time); byte[] getComponent();  }
@Test public void testHashCode() throws Exception { long t = CCNTime.now().getTime(); VersionNumber a1 = new VersionNumber(t); VersionNumber a2 = new VersionNumber(t); Assert.assertTrue(a1.hashCode() == a2.hashCode()); for(int i = 0; i < 1000000; i++) { VersionNumber x = new VersionNumber(_rnd.nextInt() + t); Assert.assertFalse(a1.hashCode() == x.hashCode()); } }