Ejemplo n.º 1
0
 public void SpectrumData_CombineChannels_NullMapThrows()
 {
     Assert.ThrowsException <NullReferenceException>(() =>
     {
         var d = SpectrumData.CreateEmpty(2, 10, ScaleType.Linear, ScaleType.Linear, 0, 20000).CombineChannels(null);
     });
 }
Ejemplo n.º 2
0
 public void SpectrumData_CombineChannels_MapWithLessSizeThanChannelsThrows()
 {
     Assert.ThrowsException <ArgumentException>(() =>
     {
         var d = SpectrumData.CreateEmpty(2, 100, ScaleType.Linear, ScaleType.Linear, 0, 20000).CombineChannels(new float[] { 1 });
     });
 }
Ejemplo n.º 3
0
 public void SpectrumData_LogTransform_ZeroResultSizeThrows()
 {
     Assert.ThrowsException <ArgumentException>(() =>
     {
         SpectrumData.CreateEmpty(2, 10, ScaleType.Linear, ScaleType.Linear, 10, 10000).LogarithmicTransform(0, 20, 4000);
     });
 }
Ejemplo n.º 4
0
 public void SpectrumData_ConvertToDecibels_MinGTEMaxThrows()
 {
     Assert.ThrowsException <ArgumentException>(() =>
     {
         var d = SpectrumData.CreateEmpty(2, 100, ScaleType.Linear, ScaleType.Linear, 0, 20000).ConvertToDecibels(0, 0);
     });
 }
Ejemplo n.º 5
0
 public void SpectrumData_LogTransform_ZeroFromFrequencyThrows()
 {
     Assert.ThrowsException <ArgumentException>(() =>
     {
         SpectrumData.CreateEmpty(2, 10, ScaleType.Linear, ScaleType.Linear, 0, 10000).LogarithmicTransform(5, 0, 4000);
     });
 }
Ejemplo n.º 6
0
 public void SpectrumData_LinearTransform_FromFrequencyGTEToFrequencyThrows()
 {
     Assert.ThrowsException <ArgumentException>(() =>
     {
         SpectrumData.CreateEmpty(2, 10, ScaleType.Linear, ScaleType.Linear, 10, 10000).LinearTransform(5, 4000, 4000);
     });
 }
Ejemplo n.º 7
0
        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());
        }
Ejemplo n.º 8
0
 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));
     });
 }
Ejemplo n.º 9
0
 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));
     });
 }
Ejemplo n.º 10
0
        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");
        }
Ejemplo n.º 11
0
        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));
            });
        }
Ejemplo n.º 12
0
        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);
            });
        }
Ejemplo n.º 13
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);
            });
        }
Ejemplo n.º 14
0
        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 });
            });
        }
Ejemplo n.º 15
0
 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;
     }
 }
Ejemplo n.º 16
0
 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);
     }
 }
Ejemplo n.º 17
0
        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;
        }
Ejemplo n.º 19
0
        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;
        }
Ejemplo n.º 21
0
 public void TestInit()
 {
     sut = SpectrumData.CreateEmpty(2, 10, ScaleType.Linear, ScaleType.Logarithmic, 10, 10000);
 }
Ejemplo n.º 22
0
 public void TestInit()
 {
     sut = SpectrumData.CreateEmpty(2, 10, ScaleType.Linear, ScaleType.Linear, 0, 20000);
 }