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); } }