package com.kryptnostic.crypto.v1.ciphers; import org.junit.Assert; import org.junit.Test; import com.google.common.base.Optional; import com.kryptnostic.kodex.v1.crypto.ciphers.BlockCiphertext; public class BlockCiphertextTests { @Test public void equalsTest() { BlockCiphertext b1 = new BlockCiphertext( null, null, null, null, null ); BlockCiphertext b2 = new BlockCiphertext( null, null, null, null, null ); Assert.assertEquals( b1, b2 ); byte[] iv = { 41, 41 }; byte[] salt = { 40, 40 }; byte[] contents = { 10 }; byte[] length = { 5 }; byte[] tag = { 27 }; BlockCiphertext b3 = new BlockCiphertext( iv, salt, contents ); BlockCiphertext b4 = new BlockCiphertext( iv, salt, contents ); Assert.assertEquals( b3, b4 ); Assert.assertNotEquals( b1, b3 ); BlockCiphertext b5 = new BlockCiphertext( new byte[] { 41 }, salt, contents, Optional.of( length ), Optional.of( tag ) ); Assert.assertNotEquals( b4, b5 ); BlockCiphertext b6 = new BlockCiphertext( iv, new byte[] { 41 }, contents, Optional.of( length ), Optional.of( tag ) ); Assert.assertNotEquals( b4, b6 ); BlockCiphertext b7 = new BlockCiphertext( iv, salt, new byte[] { 41 }, Optional.of( length ), Optional.of( tag ) ); Assert.assertNotEquals( b4, b7 ); BlockCiphertext b8 = new BlockCiphertext( iv, salt, contents, Optional.of( new byte[] { 41 } ), Optional.of( tag ) ); Assert.assertNotEquals( b4, b8 ); } }