### Question:
Version implements IComparable <Version> { @Override public int hashCode () { return new HashCodeGenerator (this).append (m_nMajor).append (m_nMinor).append (m_nMicro).append (m_sQualifier).getHashCode (); } Version(@Nonnegative final int nMajor);  Version(@Nonnegative final int nMajor, @Nonnegative final int nMinor);  Version(@Nonnegative final int nMajor, @Nonnegative final int nMinor, @Nonnegative final int nMicro);  Version(@Nonnegative final int nMajor,
                  @Nonnegative final int nMinor,
                  @Nonnegative final int nMicro,
                  @Nullable final String sQualifier); @Nonnegative int getMajor(); @Nonnegative int getMinor(); @Nonnegative int getMicro(); @Nullable String getQualifier(); int compareTo(@Nonnull final Version rhs); @Nonnull String getAsString(); @Nonnull String getAsString(final boolean bPrintZeroElements); @Nonnull String getAsString(final boolean bPrintZeroElements, final boolean bPrintAtLeastMajorAndMinor); @Nonnull @Nonempty String getAsStringMajorMinor(); @Nonnull @Nonempty String getAsStringMajorMinorMicro(); @Override boolean equals(final Object o); @Override int hashCode(); @Override String toString(); @Nonnull static Version parse(@Nullable final String sVersionString); @Nonnull static Version parse(@Nullable final String sVersionString, final boolean bOldVersion); static final String DEFAULT_VERSION_STRING; static final Version DEFAULT_VERSION; static final boolean DEFAULT_PRINT_ZERO_ELEMENTS; }### Answer:
@Test public void testHashCode () { CommonsTestHelper.testDefaultImplementationWithEqualContentObject (new Version (1, 2, 3, "4"), new Version (1, 2, 3, "4")); CommonsTestHelper.testDefaultImplementationWithEqualContentObject (new Version (1, 2, 3, "4"), Version.parse ("1.2.3.4")); CommonsTestHelper.testDefaultImplementationWithEqualContentObject (new Version (1), Version.parse ("1")); CommonsTestHelper.testDefaultImplementationWithEqualContentObject (Version.parse ("1"), Version.parse (" 1")); CommonsTestHelper.testDefaultImplementationWithDifferentContentObject (new Version (1, 2, 3, "4"), new Version (1, 2, 3)); CommonsTestHelper.testDefaultImplementationWithDifferentContentObject (new Version (1, 2, 3, "4"), new Version (1, 2, 3, "5")); CommonsTestHelper.testDefaultImplementationWithDifferentContentObject (new Version (1, 2, 3, "4"), Version.parse ("1.3.3.4")); CommonsTestHelper.testDefaultImplementationWithDifferentContentObject (new Version (2), Version.parse ("1")); CommonsTestHelper.testDefaultImplementationWithDifferentContentObject (Version.parse ("1"), Version.parse (" 11")); }