public void SourceConverter_RiseAndFall()
        {
            var nextFrame = new VisualizationDataFrame(
                testFrame.Time.Value.Add(testFrame.Duration),
                testFrame.Duration,
                ScalarData.Create(Enumerable.Repeat <float>(1.0f, (int)expectedChannelCount).ToArray()),
                ScalarData.Create(Enumerable.Repeat <float>(2.0f, (int)expectedChannelCount).ToArray()),
                SpectrumData.Create(
                    Enumerable.Repeat <float>(1.0f, (int)(expectedChannelCount * expectedFrequencyCount)).ToArray(), expectedChannelCount, ScaleType.Linear, ScaleType.Linear, expectedMinFrequency, expectedMaxFrequency)
                );

            sut.SpectrumRiseTime = TimeSpan.FromMilliseconds(100);
            sut.SpectrumFallTime = TimeSpan.FromMilliseconds(50);
            sut.RmsRiseTime      = TimeSpan.FromMilliseconds(80);
            sut.RmsFallTime      = TimeSpan.FromMilliseconds(40);
            sut.PeakRiseTime     = TimeSpan.FromMilliseconds(20);
            sut.PeakFallTime     = TimeSpan.FromMilliseconds(200);

            var data = sut.GetData();

            testSource.Frame = nextFrame;
            data             = sut.GetData();
            Assert.IsNotNull(data.RMS);
            Assert.IsNotNull(data.Peak);
            Assert.IsNotNull(data.Spectrum);
        }
Esempio n. 2
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;
        }
        public void SourceConverter_CombineChannels_WoMap(uint inputChannels, uint outChannels, float [] expectedRms)
        {
            float[] input = new float[inputChannels];
            float   value = 1.0f;

            for (int index = 0; index < inputChannels; index++, value *= 2.0f)
            {
                input[index] = value;
            }

            var inputFrame = new VisualizationDataFrame(TimeSpan.Zero, TimeSpan.FromMilliseconds(16), ScalarData.Create(input), null, null);

            testSource.ExpectedChannels = inputChannels;
            testSource.Frame            = inputFrame;
            sut.ChannelCount            = outChannels;

            var outFrame = sut.GetData();

            CollectionAssert.AreEqual(expectedRms, outFrame.RMS.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;
        }