Exemple #1
0
        public void MaintainsTakeState()
        {
            var source = new TestSampleProvider(32000, 1);
            var osp    = new OffsetSampleProvider(source)
            {
                TakeSamples = 15
            };

            var expected = new float[] { 0, 1, 2, 3, 4, 5, 6, 7 };

            osp.AssertReadsExpected(expected);
            var expected2 = new float[] { 8, 9, 10, 11, 12, 13, 14 };

            osp.AssertReadsExpected(expected2, 20);
        }
Exemple #2
0
        public void CanAddLeadOut()
        {
            var source = new TestSampleProvider(32000, 1, 10);
            var osp    = new OffsetSampleProvider(source)
            {
                LeadOutSamples = 5
            };

            var expected = new float[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 0 };

            osp.AssertReadsExpected(expected, 100);
            var expected2 = new float[] { };

            osp.AssertReadsExpected(expected2, 100);
        }
Exemple #3
0
        public void LeadOutWithoutTakeOnlyBeginsAfterSourceIsCompletelyRead()
        {
            var source = new TestSampleProvider(32000, 1, 10);
            var osp    = new OffsetSampleProvider(source)
            {
                LeadOutSamples = 5
            };

            var expected = new float[] { 0, 1, 2, 3, 4, 5, 6 };

            osp.AssertReadsExpected(expected, 7);
            var expected2 = new float[] { 7, 8, 9, 0, 0, 0 };

            osp.AssertReadsExpected(expected2, 6);
            var expected3 = new float[] { 0, 0 };

            osp.AssertReadsExpected(expected3, 6);
        }
Exemple #4
0
        public void DefaultShouldPassStraightThrough()
        {
            var source = new TestSampleProvider(32000, 1);
            var osp    = new OffsetSampleProvider(source);

            var expected = new float[] { 0, 1, 2, 3, 4, 5, 6 };

            osp.AssertReadsExpected(expected);
        }
Exemple #5
0
        public void HandlesSkipOverEntireSourceCorrectly()
        {
            var source = new TestSampleProvider(32000, 1, 10);
            var osp    = new OffsetSampleProvider(source);

            osp.SkipOverSamples = 20;

            var expected = new float[] { };

            osp.AssertReadsExpected(expected, 20);
        }
Exemple #6
0
        public void CanSkipOver()
        {
            var source = new TestSampleProvider(32000, 1);
            var osp    = new OffsetSampleProvider(source)
            {
                SkipOverSamples = 17
            };

            var expected = new float[] { 17, 18, 19, 20, 21, 22, 23, 24 };

            osp.AssertReadsExpected(expected);
        }
Exemple #7
0
        public void MaintainsPredelayState()
        {
            var source = new TestSampleProvider(32000, 1)
            {
                Position = 10
            };
            var osp = new OffsetSampleProvider(source)
            {
                DelayBySamples = 10
            };

            var expected = new float[] { 0, 0, 0, 0, 0, };

            osp.AssertReadsExpected(expected);
            var expected2 = new float[] { 0, 0, 0, 0, 0, };

            osp.AssertReadsExpected(expected2);
            var expected3 = new float[] { 10, 11, 12, 13, 14, 15 };

            osp.AssertReadsExpected(expected3);
        }
Exemple #8
0
        public void CanTake()
        {
            var source = new TestSampleProvider(32000, 1);
            var osp    = new OffsetSampleProvider(source)
            {
                TakeSamples = 7
            };

            var expected = new float[] { 0, 1, 2, 3, 4, 5, 6 };

            osp.AssertReadsExpected(expected, 10);
        }
Exemple #9
0
        public void CanAddPreDelay()
        {
            var source = new TestSampleProvider(32000, 1)
            {
                Position = 10
            };
            var osp = new OffsetSampleProvider(source)
            {
                DelayBySamples = 5
            };

            var expected = new float[] { 0, 0, 0, 0, 0, 10, 11, 12, 13, 14, 15 };

            osp.AssertReadsExpected(expected);
        }
Exemple #10
0
        public void CanAddPreDelayToStereoSourceUsingTimeSpan()
        {
            var source = new TestSampleProvider(100, 2)
            {
                Position = 10
            };
            var osp = new OffsetSampleProvider(source)
            {
                DelayBy = TimeSpan.FromSeconds(1)
            };

            var expected = Enumerable.Range(0, 200).Select(x => 0f)
                           .Concat(Enumerable.Range(10, 10).Select(x => (float)x)).ToArray();

            osp.AssertReadsExpected(expected);
        }
Exemple #11
0
        public void CanFollowTakeWithLeadout()
        {
            var source = new TestSampleProvider(32000, 1)
            {
                Position = 10
            };
            var osp = new OffsetSampleProvider(source)
            {
                TakeSamples = 10, LeadOutSamples = 5
            };


            var expected = new float[] { 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 0, 0, 0, 0, 0 };

            osp.AssertReadsExpected(expected);
        }