org.acoustid.FingerprintTest.java Source code

Java tutorial

Introduction

Here is the source code for org.acoustid.FingerprintTest.java

Source

// 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);
    }

}