Java tutorial
// Acoustid -- Audio fingerprint lookup server // Copyright (C) 2010 Lukas Lalinsky // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. package org.acoustid; import org.junit.Test; import static org.junit.Assert.*; import java.io.IOException; import org.acoustid.util.IncompatibleFingerprintVersion; import org.apache.commons.lang.ArrayUtils; public class FingerprintTest { static final int[] FINGERPRINT = { 1706313287, 1706362704, 1705378036, 1705390308, 1702240498, 1698065622, -449320490, 1731591123, 1740082165, 1738965093, 1738969189, 1740091509, 1729470790, 1728358982, 1728379463, 1694779973, 1704218309, 1706510320, 1706426484, 1705382116, 1702240498, 1698063570, 1698130902, 1698163666, 1706532853, 1740014821, 1740017764, 1737928821, 1729470806, 1728375366, 1728379463, 1729382981, 1704200773, 1706493264, 1705378044, 1706434800, 1702241522, 1698065618, 1698163670, 1698020339, 1740083189, 1738965093, 1738969189, 1744285815, 1729471302, 1728358983, 1728371271, 1694780101, 1704267461, 1706493424, 1705378036, 1705390320, 1702241490, 1698049234, -451466298, -452510894, -443611819, -410123147, -410120139, -404852681, -281124810, -282105834, -282199787, -282272939, -272856225, -274955433, -7564449, -45305121, -48389435, -48239932, -33621308, -37823913, -308914861, -309964681, -305778569, -314154921, -317235177, -281582313, -282724075, -282732203, -272775049, -274873225, -274873993, -350399617, -81956129, -79872291, -1182983476, -1111553329, -1113651769, -1114763065, -1114738475, -45162281, -48306985, -46220043, -46155660, -8414859, -2253961, -6447498, -3173866, -11546089, -10497531, -41404, -72398268, -105953343, -38846333, -37793657, -35753837, -49351497, -49355609, -49371929, -15812251, -10503323, -2319563, -222441, -4417018, -34278841, -43748657, -42700091, -38447483, -40499561, -41024073, -41021211, -36818713, -10592137, -12684233, -13633515, -282207915, -278082723, -272855201, -6519969, -7556385, -49437985, -48372027, -44041532, -37758395, -39952809, -309964461, -309981065, -314167177, -318348265, -317235177, -13107947, -14288555, -9053867, -4339593, -6438793, -69348993, -81956097, -81960227, -1153615139, -1178789171, -1113649209, -1113718585, -1114763049, -1110548265, -1122048809, -48323339, -46221067, -46155276, -8414859, -6317194, -7365002, -3173866, -11546089, -10529275, -67151292, -105951675, -106084925, -37793657, -37850989, -44142413, -49355593, -49371993, -15815451, -14763675, -10642635, -1073964233, -1073947881, -229882, -34835889, -1116982577, -1108536699, -1111554427, -1113716841, -41021291, -41013067, -36806473, -313596681, -450888587, -415385484, -415393420, -411067595, -408969418, -410086890, -271674857, -278998507, -276832763, -269526460, -273723707, -5290553, -37793657, -35762029, -11603817, -15801161, -183587657, -150030091, -150029964, -178415308, -172188875, -172188905, -167987690, -181083634, -176884153, -34253241, -40548665, -40942137, -40955817, -36818857, -10608553, -12688265, -13731723, -13731723, -9578123, -8614401, -2324514, -11758881, -45305121, -1118985531, -1109398844, -1113654692, -1113694633, -1113696425, -1115287465, -1111019433, -1119391721, -1122537449, -1086983145, -1088030699, -1088030603, -1073883017, -1075982986, -1075985577, -1155706145, -1155697971, -1187168627, -1107486067, -1111552113, -1113717625, -1114763105, -1110560585, -1123131209, -48306953, -48318219, -180446859, -146826379, -136340713, -140535018, -141585642, -10497513, -10497515, -8431100, -5285307, -38975545, -38973049, -37793657, -44142457, -49351529, -49367881, -150031195, -149964571, -145901212, -144926403, -134964457, -168518906, -177950194, -43714993, -34277691, -40544563, -41465889, -41549321, -41545611, -41013129, -35769289, -9552875, -13731819, -13674155, -12755113, -10696745, -7564585, -36916513, -45243681, -48372027, -33555772, -37758395, -308291753, -309374889, -309440425, -313626505, -316775337, -314580969, -282068907, -282199723, -269625227, -272773897, -274873993, -347221257, -350391585, -81959219, -75662651, -37938483, -37810233, -39976825, -39956329, -36769611, -48308041, -48323337, -46221083, -46229131, -136341129, -6317770, -7364842, -3173865, -14683641, -12716539, -9610684, -38973883, -38976569, -39366521, -36245353, -45682537, -49875785, -49896009, -49889803, -146359947, -141191115, -141256649, -139159529, -143338217, -13306097, -13306355, -9111993, -40610225, -40614073, -41610921, -41537451, -36294569, -42569641, -1121551275, -1121519499, -1121462027, -1082815241, -15366658, -16411681, -1090145569, -1109925179, -1112016188, -1112122660, -1112122667, -1114221069, -1115287309, -1111019405, -1119391657, -1122634665, -1120602793, -1087047339, -1082869419, -1074423305, -1080718089, -1076395521, -1156066337, -115903777, -113803571, -34121011, -38319411, -38385785, -38387561, -40480619, -11083593, -15294281, -15227737, -149440027, -145253915, -141059723, -141191883, -141191403, -145359353, -149651961, -183206331, -34267583, -306903360, -306839088, -306835243, -311021326, -317299470, -1122605838, -1525220109, -1491601291, -411575947, -136978605, -2761129, -11149753, -2828733, -2828735, -11217323, -2865579, -7059855, -38452879, -38383497, -34181038, -1116308397, -1120508717, -46760749, -1120470539, -1118380555, -1109993993, -1109986825, -1076365865, -1084883113, -1089077691, -1122706875, -1107965243, -1112160304, -1112026928, -1112084233, -1118379790, -1122589454, -1223252749, -1223247501, -1223190155, -1212686475, -1212819663, -1078601899, -755897, -11258301, -49006905, -49015097, -36370751, -41482288, -175243024, -174190347, -178360222, -48307102, -46156750, -46155725, -46294731, -46294217, -40004041, -6450665, -7368169, -77729273, -77762041, -75661819, -71480763, -105033787, -104906619, -107065195, -111251277, -115415881, -115432281, -115431257, -48317979, -48391177, -10706945 }; static final String ENCODED_FINGERPRINT = "AAABz0m4kIqiBUlEC5uSOEMfKPoVbM2OqzmirzeUPZnRJSpx9C" + "OSZSyFRyVyQY-O70OkbA2xJqHQ9VD0XIHLY05S7EiyKjnKKDzyCeGPhCNjlNFE5" + "NCj4hciMUlDLFJkYvmhP7B3zEmDaNegXKGFLklKHNpHIcyyMkG-Ek8gd8cpDpGy" + "yMQsE3sgVlfwY2LiHtN6JHmSmPB-nIIeC_kTwi6RnBM-DtLlgT_4H08fQcpJId9" + "wNkGy-ZiTkDq26XgOX8dP4TqhJ9PwQxyf4Tku0NsHKz307Ai9r0jeZmCTHJdIaA" + "_0PccviI6OfEbeD_op5DocxhPyQztihhaui4ga5VCVHPsxfQ22tgp6_JCj5PgpV" + "F8M8Qh5xFW6gXwH6Tg3B9qlEF4eaJIE_egqTzj1QGwY4ioPejR0WsHz42GO84IU" + "08iTFrmfQHNTzEmeY5vxBw6l4yZ0JTOH88MviOMX_GB54gn1QDwe_egvSJXK4km" + "K_nhyvFUg_nhy5EfuD8mf4Doc5sgPzS1i5hpyXYPSRMYoqTOmD36CXavQQ-3xSE" + "c1LoVeHT5CajqyMS_-H9K-4-oEjS_0RD986DrOvpAZUkXOkXgR70XyJ_CUEnmhe" + "6jTImY75NOhR8clvZjeYFcnuDq-Cyp15MG_TEP-JhCRKzoYS12QjTqunHgfPFfQ" + "RRI-45_g8oGeHHiVFBIniUipC7n04YeU88i3DcxKI9EnfHjCBp_xHxdekdBzONA" + "dBbl0pExAhnsG7TizE98z6FILNmrBWAf143pwtoeeCE9v_IeYJ8jxI7cVQghPI7" + "4COUp6fBH-4WuCuhV8aBfOFHleZNFHSOIlhAc7fYjJQ-IHXmmgkR0ohoIcQjfOC" + "6IfCedxddDz4czS4JKsgP9wHlJMC3lSJsh9aFR-PGlx-A9cXTibQm1e_PD6QJ4u" + "PMrxZFcG6qqgWQefPODzKJAqFVeSFr0gXhX0KzgJzcnRpdCbSIhfmDly5ehjBfq" + "JmJEq5HoEOQqurEKvMMEH9zgFtcH3CVeXKdDh48oeMOULHdIOXk4ElmgjidC7QB" + "d-Qc91uMU96NKmIeueI2V0vIeUa1OEPA-YK8igbEmOi8Y9Y_vxasJf6Dl-iPKOS" + "w9YxYU5PcOrF5pzfM_wQ5qUokygH-KjR_hRG6qUHD-6B2cMExqnPHgM9dijJkTO" + "3CgTB5GJJPuDSw8u5NkDpfPxPocy5lQxHz32HsJ0fMd2PHEJxWQQ7UeeH2eO51A" + "29fge6McH18clGxqPb8fLJohE5XiiIsk-RH-C88iFRwmUDw8vjDW2HNoVH7MvrB" + "8O5XQQ8hO8xDuiH0k058G1F5WlIg8Ul9Bx5YJ7fOizKcOh5ziVB4-OK4nRs1D2B" + "7t29HigiodWLuDtASGEIBAIwAhRyAgjBBCMEECEQpAYQJQAghHBDDJCISOAIEAp" + "AgARhgghiECMAOMEIMAQRAAAyBABCSDIEIIAQAYAQYQQyhGJhJNGEAEEMwBIJyg" + "QRhFAACLIAAEYMEAI4YhAAAAHgDJGAKAAIYYIwQQiEhEhABGKGOSIMYJIYZwQEB" + "BIBCAAACSAMAIJIAwRBHkGDKBAKGQUYgAAAgQxDghChGMCEEGMEE4JhwAhDgjCE" + "SFKEEAAQAQIQZgAhghhAIFeEQGcAIQ4wgEgwHDAmFHAECSAAIIYwoABxABCBRFA" + "EEKEMEIICYgRQAgkAIHSCEQIMAYQrohQAEoiCJAGYAgIEYIYIQgViBBDBCGICOK" + "gAIQIYgwizCACABTQEQiExAgYQRBgSREiBMCYAMwEJYIYBYRRFiJhFCLCISIQEY" + "YgQQYygBMBoDNEGCEQMIIYaIkkBhABgRBEAIMcAA"; @Test public void testDecodeFingerprint() throws IOException, IncompatibleFingerprintVersion { int[] decodedFp = FingerprintUtils.decodeFingerprint(ENCODED_FINGERPRINT, 0); assertEquals(ArrayUtils.toString(FINGERPRINT), ArrayUtils.toString(decodedFp)); } @Test public void testEncodeFingerprint() throws IOException { String encodedFp = FingerprintUtils.encodeFingerprint(FINGERPRINT); assertEquals(ENCODED_FINGERPRINT, encodedFp); } }