Exemple #1
0
        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);
        }