public void ReadMonoFromFileTest()
 {
     using (BassAudioService bass = new BassAudioService())
     {
         string tempFile = string.Format(@"{0}\{1}", Path.GetTempPath(), "0.wav");
         bass.RecodeFileToMonoWave(PathToMp3, tempFile, 5512);
         float[] samples = bass.ReadMonoFromFile(PathToMp3, SampleRate);
         FileInfo info = new FileInfo(tempFile);
         long expectedSize = info.Length - WaveHeader;
         long actualSize = samples.Length * (BitsPerSample / 8);
         Assert.AreEqual(expectedSize, actualSize);
     }
 }
        public void CheckFingerprintCreationAlgorithmTest()
        {
            using (BassAudioService bassAudioService = new BassAudioService())
            {
                string tempFile = Path.GetTempPath() + DateTime.Now.Ticks + ".wav";
                bassAudioService.RecodeFileToMonoWave(PathToMp3, tempFile, 5512);

                long fileSize = new FileInfo(tempFile).Length;
                var list = fingerprintUnitBuilderWithBass.BuildFingerprints()
                                          .On(PathToMp3)
                                          .WithCustomConfiguration(customConfiguration => customConfiguration.Stride = new StaticStride(0, 0))
                                          .RunAlgorithm()
                                          .Result;
                long expected = fileSize / (8192 * 4); // One fingerprint corresponds to a granularity of 8192 samples which is 16384 bytes
                Assert.AreEqual(expected, list.Count);
                File.Delete(tempFile);
            }
        }