@Test
    public void parse_node_id_isCorrect() {
        //8.2.5
        final byte[] advertisingData = MeshParserUtils.toByteArray("141628180100861765aefcc57b34ae608fbbc1f2c6".toUpperCase(Locale.US));
        final byte[] identityKey = MeshParserUtils.toByteArray("84396c435ac48560b5965385253e210c");
        final ByteBuffer expectedBufferHash = ByteBuffer.allocate(8).order(ByteOrder.BIG_ENDIAN);
        expectedBufferHash.put(advertisingData, 5, 8);
        final byte[] hash = expectedBufferHash.array();
        final String expectedHash = MeshParserUtils.bytesToHex(hash, false);
        final byte[] src = MeshParserUtils.toByteArray("1201");
        final byte[] random = MeshParserUtils.toByteArray("34ae608fbbc1f2c6");

        final byte[] actualHash = SecureUtils.calculateHash(identityKey, random, src);
        assertEquals(expectedHash, MeshParserUtils.bytesToHex(actualHash, false));
    }
Example local unit test, which will execute on the development machine (host).

@see <a href="http://d.android.com/tools/testing">Testing documentation</a>
mesh/src/test/java/no/nordicsemi/android/mesh/transport/EncryptionTests.java