package cz.cuni.lf1.lge.ThunderSTORM.colocalization; import org.junit.Test; import static org.junit.Assert.*; public class CBCTest { @Test public void testSameAsMatlabImpl() { double[][] first = new double[][]{ {9.58456967808668, 8.07427321148612}, {8.80085120635516, 10.6435089700042}, {8.41589936478319, 8.79974368438456}, {13.5723030231440, 9.52639834905543}, {12.3412271483373, 10.7817537048888}, {10.4349203931013, 11.4694960947218}, {8.22216616669611, 8.41942021629354}, {8.77604337338907, 11.7828406439625}, {9.75034306143236, 10.9335833831762}, {11.1192313278351, 9.90402361376197}, {8.11626128223505, 9.72391553426886}, {6.70507026973283, 9.69225814836899}, {7.95066695526932, 9.57134109102572}, {10.4716555433200, 10.0325914346153}, {10.5534575750726, 10.0725355168603}, {10.6387711600931, 11.1682292012890}, {9.81574967655225, 12.1594711398059}, {10.2597756106280, 10.6603167274131}, {9.32661794613244, 9.70342055264011}, {11.2190826541225, 10.8841526820582}}; double[][] second = new double[][]{ {11.2591224803331, 9.49497495823256}, {9.54368877379646, 13.2676310576875}, {12.3424023872861, 12.7460999947122}, {11.4342511305456, 10.6752591587683}, {11.1911662364100, 8.86996851953204}, {11.7286683556623, 10.3712013117723}, {11.3696843687692, 10.7794660723475}, {9.66853805393354, 11.3904194688506}, {10.7704198614367, 10.6306588301441}, {10.7934475552809, 11.6270932830824}, {10.2476222955802, 11.5542221059949}, {13.3788537168892, 9.23127292779214}, {9.76153168169238, 9.65938080703918}, {10.3157821944540, 9.95191771079212}, {9.99307351029408, 10.2818375331855}, {9.33941299574804, 10.5466377708013}, {10.7281322670719, 11.0176338874034}, {10.6124061637866, 6.71609632095298}, {13.1638493013129, 10.3536836966763}, {10.6478258317706, 12.7570873868666}}; double[] resultsFirstFromMatlab = new double[]{ -0.0196974753998052, 0.231590053934303, -0.609177585258998, 0.326611738761676, 0.0794994189118908, 0.727377254229481, -0.594369421066471, -0.0257352016441271, 0.440376139684379, 0.437876252597054, -0.572242041445284, -0.428291294010059, -0.616464209340207, 0.768687312256853, 0.644286378810337, 0.776961467309580, 0.194435782432457, 0.468868913049697, 0.256469023516148, 0.733161448072945}; double[] resultsSecondFromMatlab = new double[]{ 0.394665156085757, -0.268360745969659, 0.0722135695320114, 0.599836140466854, -0.110573650872330, 0.209869083113034, 0.711110781589293, 0.401463482731675, 0.414093758169841, 0.521157330105307, 0.723909295397084, 0.232367390681943, 0.399479357832148, 0.769212211902691, 0.459241860792328, 0.338719775218345, 0.775022276225687, -0.142869696342208, -0.215252802988524, -0.0100791151852073}; CBC cbc = new CBC(first, second, 0.02, 250); double[] resultsFirst = cbc.calculateFirstChannelCBC(); assertArrayEquals(resultsFirstFromMatlab, resultsFirst, 0.001); double[] resultsSecond = cbc.calculateSecondChannelCBC(); assertArrayEquals(resultsSecondFromMatlab, resultsSecond, 0.001); } }