public void testEquals() {
assertEquals("Null versioneds not equal.", getVersioned(null), getVersioned(null));
assertEquals("equal versioneds not equal.", getVersioned(1), getVersioned(1));
assertEquals("equal versioneds not equal.", getVersioned(1, 1, 2), getVersioned(1, 1, 2));
assertTrue("Equals values with different version are equal!",
!getVersioned(1, 1, 2).equals(getVersioned(1, 1, 2, 2)));
assertTrue("Different values with same version are equal!",
!getVersioned(1, 1, 2).equals(getVersioned(2, 1, 2)));
assertTrue("Different values with different version are equal!",
!getVersioned(1, 1, 2).equals(getVersioned(2, 1, 1, 2)));
assertEquals("Equal arrays are not equal!",
new Versioned<byte[]>(new byte[] { 1 }),
new Versioned<byte[]>(new byte[] { 1 }));
}