package com.infendro.hash.keccak.shake import kotlin.test.Test import kotlin.test.assertContentEquals import kotlin.test.assertEquals class `SHAKE256 Test` { val function = SHAKE256(64) @Test fun `bytes and block`() { assertEquals(64, function.bytes) assertEquals(512, function.bits) assertEquals(136, function.block) } @Test fun `empty bytearray`() { val expected = ubyteArrayOf( 0x46U, 0xb9U, 0xddU, 0x2bU, 0x0bU, 0xa8U, 0x8dU, 0x13U, 0x23U, 0x3bU, 0x3fU, 0xebU, 0x74U, 0x3eU, 0xebU, 0x24U, 0x3fU, 0xcdU, 0x52U, 0xeaU, 0x62U, 0xb8U, 0x1bU, 0x82U, 0xb5U, 0x0cU, 0x27U, 0x64U, 0x6eU, 0xd5U, 0x76U, 0x2fU, 0xd7U, 0x5dU, 0xc4U, 0xddU, 0xd8U, 0xc0U, 0xf2U, 0x00U, 0xcbU, 0x05U, 0x01U, 0x9dU, 0x67U, 0xb5U, 0x92U, 0xf6U, 0xfcU, 0x82U, 0x1cU, 0x49U, 0x47U, 0x9aU, 0xb4U, 0x86U, 0x40U, 0x29U, 0x2eU, 0xacU, 0xb3U, 0xb7U, 0xc4U, 0xbeU, ).asByteArray() val actual = function.hash( ByteArray(0), ) assertContentEquals(expected, actual) } }