public void AudioListenerFftIsNotZero() { var audioListener = new AudioListenerMockWithCounter(40); //40Hz sample frequence audioListener.Start(); Thread.Sleep(100); float[] fft1 = audioListener.FftData; Thread.Sleep(100); float[] fft2 = audioListener.FftData; audioListener.Stop(); bool allEqual = true; for (int i = 0; i < fft1.Length; i++) { if (fft1[i] != fft2[i]) { allEqual = false; break; } } Assert.IsFalse(allEqual); }
public void AudioListenerSampleFrequenceWorks() { var audioListener = new AudioListenerMockWithCounter(40); //40Hz sample frequence audioListener.Start(); Thread.Sleep(1000); //sleep 1 second (waiting for 25 samples: 25x 40 = 1000) audioListener.Stop(); Thread.Sleep(10); Assert.IsTrue((audioListener.NumberOfSamples >= 38) || (audioListener.NumberOfSamples <= 40), "Returned " + audioListener.NumberOfSamples.ToString()); }
[TestCase(30)] //sample frequence in Hz public void TestTheSampleFrequence(int pSampleFrequence) { float period = 1000.0f / (float)pSampleFrequence; int twentyPeriods = (int)(100.0f * period); var audioListenerMock = new AudioListenerMockWithCounter(pSampleFrequence); audioListenerMock.Start(); Thread.Sleep(twentyPeriods); audioListenerMock.Stop(); //We gave +/- 5% of tolerance (should be equal 100) Assert.IsTrue(95 <= audioListenerMock.NumberOfSamples, audioListenerMock.NumberOfSamples.ToString()); Assert.IsTrue(audioListenerMock.NumberOfSamples <= 105, audioListenerMock.NumberOfSamples.ToString()); }
public void AudioListenerStartAndStop() { var audioListener = new AudioListenerMockWithCounter(40); //40Hz sample frequence audioListener.Start(); Assert.IsTrue(audioListener.AudioDeviceInitialized); Assert.IsFalse(audioListener.Stopped); Thread.Sleep(100); Assert.IsTrue(audioListener.WorkerThread.IsAlive); audioListener.Stop(); Assert.IsFalse(audioListener.WorkerThread.IsAlive); Assert.IsTrue(audioListener.Stopped); }