public void ReadMonoFromFileTest() { string tempFile = string.Format(@"{0}{1}", Path.GetTempPath(), "0.wav"); bassAudioService.RecodeFileToMonoWave(PathToMp3, tempFile, SampleRate); float[] samples = bassAudioService.ReadMonoSamplesFromFile(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 = fingerprintCommandBuilderWithBass.BuildFingerprintCommand() .From(PathToMp3) .WithFingerprintConfig(customConfiguration => customConfiguration.Stride = new StaticStride(0, 0)) .Fingerprint() .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); } }