public void SpectrumData_CombineChannels_NullMapThrows() { Assert.ThrowsException <NullReferenceException>(() => { var d = SpectrumData.CreateEmpty(2, 10, ScaleType.Linear, ScaleType.Linear, 0, 20000).CombineChannels(null); }); }
public void SpectrumData_CombineChannels_MapWithLessSizeThanChannelsThrows() { Assert.ThrowsException <ArgumentException>(() => { var d = SpectrumData.CreateEmpty(2, 100, ScaleType.Linear, ScaleType.Linear, 0, 20000).CombineChannels(new float[] { 1 }); }); }
public void SpectrumData_LogTransform_ZeroResultSizeThrows() { Assert.ThrowsException <ArgumentException>(() => { SpectrumData.CreateEmpty(2, 10, ScaleType.Linear, ScaleType.Linear, 10, 10000).LogarithmicTransform(0, 20, 4000); }); }
public void SpectrumData_ConvertToDecibels_MinGTEMaxThrows() { Assert.ThrowsException <ArgumentException>(() => { var d = SpectrumData.CreateEmpty(2, 100, ScaleType.Linear, ScaleType.Linear, 0, 20000).ConvertToDecibels(0, 0); }); }
public void SpectrumData_LogTransform_ZeroFromFrequencyThrows() { Assert.ThrowsException <ArgumentException>(() => { SpectrumData.CreateEmpty(2, 10, ScaleType.Linear, ScaleType.Linear, 0, 10000).LogarithmicTransform(5, 0, 4000); }); }
public void SpectrumData_LinearTransform_FromFrequencyGTEToFrequencyThrows() { Assert.ThrowsException <ArgumentException>(() => { SpectrumData.CreateEmpty(2, 10, ScaleType.Linear, ScaleType.Linear, 10, 10000).LinearTransform(5, 4000, 4000); }); }
public void SpectrumData_ApplyRiseAndFall() { var previous = SpectrumData.CreateEmpty(2, 5, ScaleType.Linear, ScaleType.Linear, 0, 20000); var result = ltd.ApplyRiseAndFall(previous, TimeSpan.FromSeconds(2), TimeSpan.FromSeconds(4), TimeSpan.FromSeconds(1)); CollectionAssert.AreEqual(g_ExpectedRFResult[0], result[0].ToArray()); CollectionAssert.AreEqual(g_ExpectedRFResult[1], result[1].ToArray()); }
public void SpectrumData_ApplyRiseAndFallToEmpty_WithLogAmpScalePreviousThrows() { Assert.ThrowsException <ArgumentException>(() => { var p = SpectrumData.CreateEmpty(2, 10, ScaleType.Logarithmic, ScaleType.Linear, 0, 20000); SpectrumData.ApplyRiseAndFallToEmpty(p, TimeSpan.FromSeconds(2), TimeSpan.FromSeconds(2), TimeSpan.FromSeconds(1)); }); }
public void SpectrumData_ApplyRiseAndFall_WithNEElementCountThrows() { Assert.ThrowsException <ArgumentException>(() => { var p = SpectrumData.CreateEmpty(2, 20, ScaleType.Linear, ScaleType.Linear, 0, 20000); SpectrumData.CreateEmpty(2, 10, ScaleType.Linear, ScaleType.Linear, 0, 20000).ApplyRiseAndFall(p, TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(1)); }); }
public void SpectrumData_CreateEmpty() { var data = SpectrumData.CreateEmpty(2, 10, ScaleType.Linear, ScaleType.Linear, 0, 20000); Assert.AreEqual(2, data.Count()); Assert.AreEqual(2, data.Count, "Channel count property init"); foreach (var item in data) { Assert.AreEqual(10, item.Count); } Assert.AreEqual(10u, data.FrequencyCount, "Frequency bin count"); Assert.AreEqual(20000.0f, data.MaxFrequency, "Max Frequency property init"); Assert.AreEqual(0.0f, data.MinFrequency, "Min Frequency property init"); Assert.AreEqual(2000.0f, data.FrequencyStep); Assert.AreEqual(ScaleType.Linear, data.AmplitudeScale); data = SpectrumData.CreateEmpty(2, 10, ScaleType.Linear, ScaleType.Logarithmic, 20, 20000); Assert.AreEqual(20, data.MinFrequency); Assert.AreEqual(20000, data.MaxFrequency); Assert.AreEqual(ScaleType.Linear, data.AmplitudeScale); Assert.AreEqual(ScaleType.Logarithmic, data.FrequencyScale); Assert.AreEqual(2, data.Count); Assert.AreEqual(10u, data.FrequencyCount); Assert.AreEqual(1.995262f, data.FrequencyStep, 1e-6f); Assert.ThrowsException <ArgumentException>( () => { var s = SpectrumData.CreateEmpty(0, 10, ScaleType.Linear, ScaleType.Linear, 0.0f, 20000f); }, "Zero channels value"); Assert.ThrowsException <ArgumentException>( () => { var s = SpectrumData.CreateEmpty(2, 0, ScaleType.Linear, ScaleType.Linear, 0.0f, 20000f); }, "Zero elements value"); Assert.ThrowsException <ArgumentException>( () => { var s = SpectrumData.CreateEmpty(0, 10, ScaleType.Linear, ScaleType.Linear, 30000.0f, 20000f); }, "MinFrequency > MaxFrequency"); Assert.ThrowsException <ArgumentException>( () => { var s = SpectrumData.CreateEmpty(0, 10, ScaleType.Linear, ScaleType.Linear, 20000f, 20000f); }, "MinFrequency == MaxFrequency"); Assert.ThrowsException <ArgumentException>( () => { var s = SpectrumData.CreateEmpty(0, 10, ScaleType.Linear, ScaleType.Linear, -1.0f, 20000f); }, "MinFrequency < 0"); Assert.ThrowsException <ArgumentException>( () => { var s = SpectrumData.CreateEmpty(0, 10, ScaleType.Linear, ScaleType.Logarithmic, 0.0f, 20000f); }, "MinFrequency == 0 while FrequencyScale == Logarithmic"); }
public void SpectrumData_ApplyRiseAndFall_LogAmpScaleThrows() { #if DEBUG Assert.ThrowsException <COMException>( #else Assert.ThrowsException <Exception>( #endif () => { SpectrumData.CreateEmpty(2, 10, ScaleType.Logarithmic, ScaleType.Linear, 0, 20000).ApplyRiseAndFall(null, TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(1)); }); }
public void SpectrumData_ConvertToDecibels_WithLogScaleThrows() { #if DEBUG Assert.ThrowsException <COMException>( #else Assert.ThrowsException <Exception>( #endif () => { var d = SpectrumData.CreateEmpty(2, 100, ScaleType.Logarithmic, ScaleType.Linear, 0, 20000).ConvertToDecibels(-100, 0); }); }
public void SpectrumData_LogTransform_LogFreqScaleThrows() { #if DEBUG Assert.ThrowsException <COMException>( #else Assert.ThrowsException <Exception>( #endif () => { SpectrumData.CreateEmpty(2, 10, ScaleType.Linear, ScaleType.Logarithmic, 10, 10000).LogarithmicTransform(5, 20, 4000); }); }
public void SpectrumData_CombineChannels_WithLogScaleThrows() { #if DEBUG Assert.ThrowsException <COMException>( #else Assert.ThrowsException <Exception>( #endif () => { var d = SpectrumData.CreateEmpty(2, 10, ScaleType.Logarithmic, ScaleType.Linear, 0, 20000).CombineChannels(new float[] { 1, 1 }); }); }
private void Visualizer_SizeChanged(object sender, SizeChangedEventArgs e) { lock (drawingLock) { canvasHeight = 0.25f * (float)ActualHeight; canvasWidth = (float)Visualizer.ActualWidth; Visualizer.Height = 0.25 * ActualHeight; barCount = Convert.ToUInt32(Math.Round(Visualizer.ActualWidth / 32)); _emptySpectrum = SpectrumData.CreateEmpty(2, barCount, ScaleType.Linear, ScaleType.Linear, 0, 20000); _previousSpectrum = null; _previousPeakSpectrum = null; } }
private void CustomVisualizer_Loaded(object sender, RoutedEventArgs e) { lock (drawingLock) { canvasHeight = 0.25f * (float)ActualHeight; canvasWidth = (float)Visualizer.ActualWidth; Context.Visualizer = Visualizer; SizeChanged += Visualizer_SizeChanged; Visualizer.Height = 0.25 * ActualHeight; barCount = Convert.ToUInt32(Math.Round(Visualizer.ActualWidth / 32)); _emptySpectrum = SpectrumData.CreateEmpty(2, barCount, ScaleType.Linear, ScaleType.Linear, 0, 20000); } }
public void VisualizationDataFrame_ctor() { var rms = ScalarData.CreateEmpty(2); var peak = ScalarData.CreateEmpty(2); var spectrum = SpectrumData.CreateEmpty(2, 100, ScaleType.Linear, ScaleType.Linear, 0, 20000.0f); var frame = new VisualizationDataFrame(TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(1.0 / 60.0), rms, peak, spectrum); Assert.IsNotNull(frame); Assert.AreEqual(TimeSpan.FromSeconds(1), frame.Time); Assert.AreEqual(TimeSpan.FromSeconds(1.0 / 60.0), frame.Duration); Assert.AreSame(rms, frame.RMS); Assert.AreSame(peak, frame.Peak); Assert.AreSame(spectrum, frame.Spectrum); }
public void TestInit() { sut = new SourceConverter(); testSource = new FakeVisualizationSource(); testSource.ExpectedChannels = expectedChannelCount; sut.Source = testSource; testFrame = new VisualizationDataFrame( TimeSpan.Zero, TimeSpan.FromMilliseconds(16.7), ScalarData.CreateEmpty(expectedChannelCount), ScalarData.CreateEmpty(expectedChannelCount), SpectrumData.CreateEmpty(expectedChannelCount, 10, ScaleType.Linear, ScaleType.Linear, 0, 10000)); testSource.Frame = testFrame; }
public void SpectrumData_CombineChannels() { SpectrumData data = SpectrumData.Create( new float[][] { new float[] { 1, 0, 0, 0, 0 }, new float[] { 0, 1, 0, 0, 0 }, new float[] { 0, 0, 1, 0, 0 }, new float[] { 0, 0, 0, 1, 0 }, new float[] { 0, 0, 0, 0, 1 }, }, ScaleType.Linear, ScaleType.Linear, 0, 20000 ); Assert.ThrowsException <NullReferenceException>(() => { data.CombineChannels(null); }, "Null parameter"); Assert.ThrowsException <ArgumentException>(() => { data.CombineChannels(new float[] { }); }, "Empty map"); Assert.ThrowsException <ArgumentException>(() => { data.CombineChannels(new float[] { 0, 0, 0, 0 }); }, "Too few elements"); Assert.ThrowsException <ArgumentException>(() => { var logData = SpectrumData.CreateEmpty(2, 10, ScaleType.Logarithmic, ScaleType.Linear, 0, 20000); data.CombineChannels(new float[] { 0.5f, 0.5f }); }, "Combine log amp data"); var spectrum = data.CombineChannels(new float[] { 0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f, 0.8f, 0.9f, 1.0f }); Assert.AreEqual(2, spectrum.Count); Assert.AreEqual(5u, spectrum.FrequencyCount); Assert.AreEqual(ScaleType.Linear, spectrum.AmplitudeScale); Assert.AreEqual(ScaleType.Linear, spectrum.FrequencyScale); Assert.AreEqual(0.0f, spectrum.MinFrequency); Assert.AreEqual(20000f, spectrum.MaxFrequency); Assert.AreEqual(4000f, spectrum.FrequencyStep); CollectionAssert.AreEqual(new float[] { 0.1f, 0.2f, 0.3f, 0.4f, 0.5f }, spectrum[0].ToArray()); CollectionAssert.AreEqual(new float[] { 0.6f, 0.7f, 0.8f, 0.9f, 1.0f }, spectrum[1].ToArray()); }
public void TestInit() { sut = new SourceConverter(); testSource = new FakeVisualizationSource(); sut.Source = testSource; testFrame = new VisualizationDataFrame( expectedTime, expectedDuration, ScalarData.CreateEmpty(expectedChannelCount), ScalarData.CreateEmpty(expectedChannelCount), SpectrumData.CreateEmpty(expectedChannelCount, expectedFrequencyCount, ScaleType.Linear, ScaleType.Linear, expectedMinFrequency, expectedMaxFrequency) ); otherFrame = new VisualizationDataFrame( expectedTime.Add(expectedDuration), expectedDuration, ScalarData.CreateEmpty(expectedChannelCount), ScalarData.CreateEmpty(expectedChannelCount), SpectrumData.CreateEmpty(expectedChannelCount, expectedFrequencyCount, ScaleType.Linear, ScaleType.Linear, expectedMinFrequency, expectedMaxFrequency) ); testSource.Frame = testFrame; }
public void TestInit() { sut = SpectrumData.CreateEmpty(2, 10, ScaleType.Linear, ScaleType.Logarithmic, 10, 10000); }
public void TestInit() { sut = SpectrumData.CreateEmpty(2, 10, ScaleType.Linear, ScaleType.Linear, 0, 20000); }