private void RunTest(IEnumerable <float[]> pool, FingerprintDescriptor descriptor) { const int TopWavelets = 200; foreach (var floats in pool) { descriptor.ExtractTopWavelets(floats, TopWavelets, RangeUtils.GetRange(floats.Length)); } }
public void ExtractTopWaveletWorksCorrectly() { float[] frames = new float[] { 5, 6, 1, 8, 9, 2, 0, -4, 6, -10, 7, 3, 1, 0, 2, 5, -11, 0, 5, 13, 7, 6, 3, 2 }; bool[] expected = new[] { false, false, false, false, false, false, true, false, true, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, true, false, false, false, false, false, false, false, false, false }; bool[] encodedFingerprint = fingerprintDescriptor.ExtractTopWavelets(frames, 5, RangeUtils.GetRange(frames.Length)).ToBools(); CollectionAssert.AreEqual(expected, encodedFingerprint); }
public void ExtractTopWaveletesText() { float[] frames = TestUtilities.GenerateRandomFloatArray(128 * 32); float[] copy = (float[])frames.Clone(); bool[] actual = fingerprintDescriptor.ExtractTopWavelets(frames, TopWavelets, RangeUtils.GetRange(128 * 32)).ToBools(); bool[] expected = ExtractTopWaveletsTested(copy, TopWavelets); CollectionAssert.AreEqual(expected, actual); }