@Test
    public void testEncryptBlock2() {

        byte[] key = ByteHelper.convertBinaryStringToByteArray("1010011010111000011110011110100111011001100111111001100101110010".replace(" ", ""));
        byte[][][] subKeys = new byte[][][] { KeyCalculator.generateSubKeys(key) };

        byte[] block = ByteHelper.convertBinaryStringToByteArray("0110100001100001011011000110110001101111011011110110111101101111".replace(" ", ""));
        byte[] expectedEncryptedBlock = ByteHelper.convertBinaryStringToByteArray("10001111 01101000 01001111 10101111 01010101 01011010 10111011 11011001".replace(" ", ""));

        try {
            byte[] result = DesAlgorithm.encryptBlock(block, subKeys);

            System.out.println();
            System.out.println("expected vs actual result");
            ByteHelper.printByteArray(expectedEncryptedBlock);
            ByteHelper.printByteArray(result);
            System.out.println();

            assertArrayEquals(expectedEncryptedBlock, result);

        } catch (Exception e) {
            fail();
        }
    }