public void FailsWithMissingBitDepth()
        {
            var request = new AudioUtilityRequest
            {
                //BitDepth = 16,
                TargetSampleRate = 22050,
                Channels         = new[] { 1, 2, 3, 4 },

                //BandPass
            };

            var tester = new FfmpegRawPcmAudioUtilityTester();

            TestHelper.ExceptionMatches <InvalidOperationException>(
                () =>
            {
                tester.InvokeCheckRequestValid(
                    this.source,
                    MediaTypes.GetMediaType(this.source.Extension),
                    this.output,
                    MediaTypes.GetMediaType(this.output.Extension),
                    request);
            },
                "A BitDepth must be supplied");
        }
        public void FailsWithInvalidBitDepth()
        {
            var request = new AudioUtilityRequest
            {
                BitDepth         = 64,
                TargetSampleRate = 22050,
                Channels         = new[] { 1, 2, 3, 4 },

                //BandPass
            };

            var tester = new FfmpegRawPcmAudioUtilityTester();

            TestHelper.ExceptionMatches <BitDepthOperationNotImplemented>(
                () =>
            {
                tester.InvokeCheckRequestValid(
                    this.source,
                    MediaTypes.GetMediaType(this.source.Extension),
                    this.output,
                    MediaTypes.GetMediaType(this.output.Extension),
                    request);
            },
                "Supplied bit depth of 64");
        }
        public void FailsWithNullRequest()
        {
            var tester = new FfmpegRawPcmAudioUtilityTester();

            TestHelper.ExceptionMatches <ArgumentNullException>(
                () =>
            {
                tester.InvokeCheckRequestValid(
                    this.source,
                    MediaTypes.GetMediaType(this.source.Extension),
                    this.output,
                    MediaTypes.GetMediaType(this.output.Extension),
                    null);
            },
                "raw PCM data requires prior knowledge");
        }